Pull to refresh
0
0
Send message

Полупрозрачность, видеомонтаж и работа с мозаикой в PaintCAD 4Windows 1.2.1

Reading time14 min
Views12K
Каждому из нас хоть раз в жизни хочется создать рисунок с полупрозрачностью, собрать анимацию из простых нарисованных кадров, выдрать какой нибудь кадр из AVI-фильма и создать мозаичную карту, написав впоследствии двумерную игру, в которой герой бегает по этой подгружаемой карте.

Как ни странно, но в бесплатном графическом редакторе PaintCAD 4Windows с версии 1.2.1 стало возможным:
  • создавать/загружать из PNG-файлов рисунки с полупрозрачным фоном и сохранять их в PNG
  • удобно редактировать последовательности BMP/JPG кадров в специальном интерфейсе «Очередь кадров», применять к ним различные эффекты и собирать из них AVI видеофайлы
  • разбирать уже имеющиеся AVI на кадры, извлекать из них кадры по одиночке или сразу в некотором диапазоне
  • создавать мозаичные карты для игр или оформления таблиц, рисуя элементы мозаики (тайлы) по отдельности или в окружении соседних элементов, проверять стыки между ними, создавать раскладки из тайлов, сохранять и загружать раскладки



Как же всё это сделать? И как же оно разрабатывалось?

Вот так

Обзор Geeksphone Peak — телефона на Firefox OS

Reading time7 min
Views124K


Привет, хабр.

Я наконец-то дождался заветной коробочки с девайсом Geeksphone Peak и хочу поделиться фотографиями и скриншотами, с целью подогрева интереса читателей к платформе Firefox OS.

Заранее хочу предупредить, что телефон позиционируется как Developer Preview, то есть на конечного потребителя в общем-то не рассчитан.
Периодически Mozilla делает ночные сборки Boot2Gecko, поэтому как только на сервере появляется очередной билд — устройство обновляется по сети, так что проблем с каждым днём становится всё меньше, изменения ощутимые.

Если вы не в курсе, о чём вообще идёт речь, очень рекомендую ознакомиться со статьёй «Стартовали продажи первых телефонов на основе Firefox OS» на OpenNet.

За подробностями приглашаю под кат.
Осторожно, картинки.
Читать дальше →

Путешествие через вычислительный конвейер процессора

Reading time16 min
Views138K
Так как карьера программиста тесно связана с процессором, неплохо бы знать как он работает.

Что происходит внутри процессора? Сколько времени уходит на исполнение одной инструкции? Что значит, когда новый процессор имеет 12, или 18, или даже 31-уровневый конвейер?

Программы обычно работают с процессором, как с чёрным ящиком. Инструкции входят и выходят из него по порядку, а внутри совершается некая вычислительная магия.

Программисту полезно знать, что происходит внутри этого ящика, особенно, если он будет заниматься оптимизацией программ. Если вы не знаете какие процессы протекают внутри процессора, как вы сможете оптимизировать под него?

Эта статья рассказывает, как устроен вычислительный конвейер x86 процессора.
Читать дальше →

Супер простой iOS JSON mapper

Reading time4 min
Views9.7K
Каждый, кто хотя бы раз писал клиент-серверное приложение под iOS, так или иначе сталкивался с маппингом json/xml/прочее в объекты. Иногда это бывает сложно, иногда вообще хочется работать просто со словарями, есть уже много готовых решений типа RestKit, который вообще являет собой универсальный комбайн на все случаи жизни, так зачем же писать очередной велосипед?

Причин может быть много, несколько из них, которые и сподвигли меня написать свой мини-маппер, это:

  • не хочется разбираться с чем-то большим и сложным;
  • мне нужен только маппер, без дополнительных плюшек типа работы с сетью или интеграции с Core Data;
  • если фреймворк работает не так как я хочу, часто разобраться и поправить в нем что-то становится реальной головной болью, особенно если стадия проекта далеко не начальная и отказаться от фреймворка проблемно;
  • мне не нужен в проекте на 3 экрана фреймворк еще на 50 классов и 4 МБ весом;
  • свое всегда роднее.

Итак понеслась

Настраиваем OpenVPN на Linux Server'e с авто-подключением iOS устройств за 5 минут

Reading time2 min
Views42K

В наше время, вопрос защиты своего трафика становится все актуальней, для решения проблемы конфиденциальности можно использовать множество методов.

Сегодня я расскажу о том, как за 5 минут настроить работающий VPN On Demand на iOS устройстве при наличии своего Linux сервера.
VPN On Demand — VPN Который подключается по запросу / переподключается при разрыве

Читать дальше →

Exim + DKIM на примере FreeBSD 8.2

Reading time4 min
Views44K

Что такое DKIM и как оно работает


DKIM (расшифровывается как DomainKeys Identified Mail) — метод идентификации письма по доменным ключам.
DKIM настраивается на почтовом сервере для того, чтобы подписывать исходящие письма цифровой подписью. Наличие такой подписи в заголовке отправленного письма сообщает серверу-получателю, что оно действительно было отправлено с указанного домена.
Известно, что в СПАМ-письмах часто в поле From: ставят е-mail, не имеющий совершенно никакого отношения к отправителю. В этом случае DKIM поможет распознать реальное письмо от спама. В отличие от других методов цифровой подписи письма, DKIM совместим с существующими форматами и протоколами и может быть плавно интегрирован в имеющиеся системы доставки и получения почты.

Подпись письма происходит на SMTP-сервере с помощью секретного ключа (Private key), а расшифровка подписи происходит на сервере-получателе или клиентской программе с помощью публичного ключа (Public key). Что интересно, публичный ключ хранится в DNS, что позволяет убить сразу двух зайцев. Во-первых, нет необходимости прикладывать Public key с каждым письмом для его расшифровки. А во-вторых, в таком случае DKIM позволяет сообщать серверам-получателям что делать с письмом, которое не имеет цифровой подписи, но якобы отправлено от вас. Эта технология называется ADSP (Author Domain Signing Practices). ADSP также хранится в DNS SMTP-сервера и доступен всем и отовсюду.

Читать дальше →

Explorer-2

Reading time5 min
Views154K


Cпустя день после публикации статьи Explorer-1 (Мой «Спирит») я принялся разрабатывать следующую версию аппарата. По советам хабраюзеров, наметил, что необходимо добавить в Explorer-2:

1. Двусторонняя связь.
2. Камера
3. Дублирующиеся датчики.
4. Больше датчиков.
5. Вменяемый корпус.
6. Спящий режим.
7. Источник питания посерьёзнее захудалой «кроны».

Я рассчитывал всё это сделать за пару недель. Однако, в итоге разработка с нуля заняла целый месяц. Слишком много подводных камней выявлялось при каждом шаге.

Читать дальше →

Видеоредактор OpenShot с обновлённым движком идёт на Windows и Mac

Reading time2 min
Views41K


OpenShot — один из самых качественных полноценных нелинейных видеоредакторов на платформе Linux. Его создатель Джонатан Томас, начиная разработку в 2008 году, хотел создать простой, понятный, и в то же время мощный и стабильный редактор. И, как мне кажется, ему это удалось. В OpenShot есть всё, что нужно, и ничего лишнего. Он молниеносно быстр и предельно прост. Трудно придумать что-то лучшее для эпизодического редактирования несложных проектов.

Последние два года Джонатан Томас посвятил созданию совершенно нового движка на C++, который опирается на кроссплатформенные библиотеки работы с мультимедиа — FFmpeg, LibAV, JUCE audio library, ImageMagick. Новый интерфейс редактора будет основан на HTML5 и WebKit, что позволит с лёгкостью создавать любые мыслимые темы и скины. И одна из главных «фишек» OpenShot — 100% функционала видеодвижка будет доступно через Python API. Думаю, для тех, кому что-то говорит слово AviSynth, не надо объяснять, насколько это круто.

Чтобы закончить работу к ноябрю-декабрю этого года, Томас запустил кампанию на Кикстартере. Цель достаточно скромна — 20 000$, и почти половина денег уже собрана. Код OpenShot будет опубликован под лицензией GPLv3.
Читать дальше →

Восстановление битого файла Coreldraw

Reading time1 min
Views30K
Пройдя двухчасовой путь от «что делать» до «фуух», решил поделиться с хабражителями способом восстановления совсем убитого файла Coreldraw после краша этой программы.

Мы рассмотрим самую неприятную ситуацию.
Итак: вы работаете в Coreldraw, автосохранение и резервные копии включены, идет 2 или 5 час работы, и тут внезапно корел падает. В нашей ситуации корел, агонизируя, перетер все темпы и резервные копии. У вас только ваш файл, при открытии которого вы видите пустой лист.
Читать дальше →

Вывод текста в iOS: CoreText, NSAttributedString

Reading time11 min
Views10K
Я хотел бы Вам рассказать про вывод текста на экран в iOS. Вначале это задумывалось как туториал, затем как сбор неочевидных фактов, а получилось что получилось.

Способы вывода текста условно можно разделить на несколько категорий:

  • UIKit — привычные UI контролы. Дают только базовые возможности по отображению, совсем мало возможностей по форматированию
  • UIKit + NSAttributedString — привычные UI контролы с возможностью установки строки с атрибутами отображения. Куча возможностей по форматированию
  • CoreText — фреймворк для работы с текстом и текстовыми представлениями. В связке с NSAttributedString дает массу возможностей по форматированию текста и, благодаря нескольким уровням абстракций над элементами текста, расширенные методы по их отображению
  • CoreGraphics — с помощью него тоже можно отрисовывать текст

Читать дальше →

19 команд ffmpeg для любых нужд

Reading time3 min
Views583K
От переводчика:
Многие знают, что ffmpeg — это сила, но не все знают, какая именно. Он многогранен и безграничен, а его man объёмен и местами малопонятен, лишь немногие постигли дао профессиональной работы с ним. И тем не менее, этот инструмент может быть полезен почти всем, кто хоть иногда работает с видео и звуком, даже на бытовом уровне. О некоторых полезных консольных командах ffmpeg и пойдёт речь в статье. В некоторых местах я взял на себя смелость вставить ссылки на поясняющие статьи.


ffmpeg — это кроссплатформенная open-source библиотека для обработки видео- и аудиофайлов. Я собрал 19 полезных и удивительных команд, покрывающих почти все нужды: конвертация видео, извлечение звуковой дорожки, конвертирование для iPod или PSP, и многое другое.

1. Получение информации о видеофайле

ffmpeg -i video.avi

2. Превратить набор картинок в видео

ffmpeg -f image2 -i image%d.jpg video.mpg

Эта команда преобразует все картинки из текущей директории (названные image1.jpg, image2.jpg и т.д.) в видеофайл video.mpg

(примечание переводчика: мне больше нравится такой формат:
ffmpeg -r 12 -y -i "image_%010d.png" output.mpg

здесь задаётся frame rate (12) для видео, формат «image_%010d.png» означает, что картинки будут искаться в виде image_0000000001.png, image_0000000002.png и тд, то есть, в формате printf)
Читать дальше →

[Опровергнуто] Посылки без отчества не отдаем, или о новых правилах почты России

Reading time2 min
Views197K
Почта России неожиданно серьезно осложнила и без того нелегкую жизнь получателем международных отправлений. Оказывается, с февраля на всех без исключения почтовых отправлениях, получаемых россиянами, должно присутствовать полное ФИО, включая отчество. Проще говоря — если в паспорте у вас есть отчество, то и на посылке оно должно присутствовать, иначе получить его вы не сможете.
Все нормально, посылки без отчества получать можно. Информация — в обновлении в конце топика.

Такая практика уже около года действует для отправлений, отправляемых внутри страны — без указания полного ФИО отправление не принимали к пересылке, но сейчас такие правила стали действовать и в отношении международных малых пакетов.
К сожалению, мне не удалось пока получить номер приказа, который устанавливает эти правила, но в наличии правил может убедиться каждый — позвонив на горячую линию почты России(8-800-2005-888).
А что делать?

Как за одну минуту восстановить текст после неудачной отправки веб-формы

Reading time3 min
Views119K
Бывало ли когда-нибудь так, что вы набирали в браузере длинный и интересный текст, внимательно вычитывали его, и тут, буквально через мгновение, понимали, что при обращении к сайту произошла ошибка, а ваш текст в форме был стёрт?

В основном такое бывает из-за невнимательности разработчиков сайтов (под разработчиками я в данном случае подразумеваю не только программиста, который мог не знать о нужном способе, но и, например, менеджера, который посчитал, что тратить на это время слишком нецелесообразно): современные веб-технологии (например, Web Storage) позволяют сохранять и восстанавливать данные (в том числе данные форм) при почти любых обстоятельствах — вплоть до случайного закрытия браузера.

И, тем не менее, вы писали длинный текст именно там, где ничего для сохранения данных формы не сделано.

Можно ли теперь как-то восстановить данные, если вы не можете скопировать текст из формы и не можете отправить POST-запрос повторно?

Не закрывайте браузер!
Решение есть

Как превратить браузер в notepad за 1 секунду

Reading time1 min
Views138K
Открыть новую закладку, скопировать в адресную строку

data:text/html, <html contenteditable>

и нажать Enter.

Вуаля.


При клике на белом поле появляется курсор, и можно писать мысли, заметки, наблюдения. Романы, стихи…

Можно печатать написанное, можно сохранять в текстовый файл (для корректного сохранения русского языка необходимо сначала выставить правильную кодировку у страницы).

Делаем простую игру с кнопками, ящиками и дверями на Unity

Reading time14 min
Views165K


Unity бесподобна для быстрого прототипирования игр. Если у вас появилась идея какой-то новой игровой механики, с Unity её можно реализовать и протестировать в кратчайшие сроки. Под катом я расскажу как можно сделать несложную головоломку используя только стандартные компоненты и не залезая в графические редакторы. По ходу статьи я продемонстрирую пару трюков игрового дизайна, а в конце немного расскажу об эстетике, динамике и механике.

Для самых нетерпеливых по ссылкам ниже находится готовый прототип.
Онлайн версия
Скомпилированная версия для Windows [Зеркало] ~7.5 МБ

Что мы собираемся делать? Двумерную головоломку с колобком в роли главного героя, который может двигать ящики, которые могут нажимать кнопки, которые могут открывать двери, за которыми скрывается выход из уровня, который построил я. Или вы, у нас же здесь туториал как-никак.

Подразумевается, что вы уже успели скачать Unity и поигрались немного в редакторе. Нет? Сейчас самое время, я подожду.
Читать дальше →

[Перевод] Введение в CocosBuilder

Reading time24 min
Views22K


Перевод статьи Introduction to CocosBuilder.
Автор оригинальной статьи Али Хафиджи, разработчик под iOS и Android.

CocosBuilder – это бесплатный инструмент, который позволяет быстро и легко управлять спрайтами, макетами и сценами при разработке вашей игры, использующей Cocos2D.

CocosBuilder идеально подходит для быстрой планировки меню и других элементов интерфейса игровых сцен, при этом вы не будете испытывать проблем по их компоновке в пространстве.
В ходе обучения вы напишите игру Cat Jump. Вы увидите, как CocosBuilder позволит вам сэкономить массу времени и кода.
Читать дальше →

Имитируем адаптацию глаза к темноте в 3D, или HDR для чайников

Reading time4 min
Views42K
Всем знаком эффект временной слепоты, когда вы входите в темное помещение из светлого.  Согласно распространенному заблуждению, чувствительность зрения регулируется размером зрачка. На самом деле, изменение площади зрачка регулирует количество поступающего света всего лишь в 25 раз, а основную роль в адаптации играют сами клетки сетчатки.

title

Для имитации этого эффекта в играх используется механизм, называемый tonemapping.

tonemapping — процесс проекции всего бесконечного интервала яркостей (HDR, high dynamic range, от 0 и до бесконечности) на конечный интервал восприятия глаза/камеры/монитора (LDR, low dynamic range, ограничен с обоих сторон).

Для того, чтобы работать с HDR, нам понадобится соответствующий экранный буфер, поддерживающий значения больше единицы. Наша же задача будет состоять в правильной конвертации этих значений в диапазон [0..1].

Читать дальше →

Google Maps на iPhone без GoogleSDK

Reading time2 min
Views5.2K
Google карты для iPhone вышли совсем недавно, и не так просто получить API ключ для SDK. Может метод, изложенный здесь, для многих покажется банальностью, но все же я напишу.
Читать дальше →

iOS Console App — пишем программу для iOS без GUI

Reading time7 min
Views18K
Доброго дня всем хабравчанам!

Сегодня я расскажу вам о том, как можно легко, быстро и просто написать консольную программку для запуска на iOS-девайсе. Разумеется, нам потребуется для этого jailbreak-нутый девайс, без него, увы, никак: iOS AppStore (он же iTunesStore) не позволяет распространять консольные утилиты.



Писать HelloWorld — дело не особо интересное. Поэтому, мы будем писать полезную утилиту, позволяющую просмотреть некоторую информацию о системе, полученную через приватные API.

К примеру, информацию об установленных программах и их версиях.

В принципе, можно ещё поворовать пароли и прочие персональные данные, но это оставлю как факультативное задание.

Итак, под катом — описание процесса создания консольной программки прямо в Xcode.
Поехали

Автоматическое обновление номера сборки проекта в Xcode

Reading time3 min
Views6.8K
При передаче приложения тестировщикам или конечным пользователям не стоит забывать увеличивать версию проекта / номера сборки для того, чтобы в будущем можно было без проблем идентифицировать установленное приложение.

Память, как известно, бывает подводит. Здесь на помощь приходит простой и действенный чудо-рецепт автоматической установки номера сборки проекта.

Готовый проект с кратким описанием доступен на github: github.com/eshurakov/XcodeAutoBundleVersion
Подробнее

Information

Rating
Does not participate
Location
Россия
Registered
Activity