Создание изображений и шрифтов для встраиваемых приложений.

lic 002

LCD Image Converter — небольшая C++ / JavaScript / QT графическая утилита для создания изображений и шрифтов в формате исходников "C" для встраиваемых приложений.

lic 003

Краткая история (от автора приложения):

— Когда-то, в ~2005-ом году, впервые столкнувшись с графическим дисплеем BG160160B и необходимостью выводить на нём текст, на скорую руку набросал утилитку для создания шрифтов под этот дисплей. Удобств в ней особо никаких не было, просто таблица символов и редактор изображения каждого из них. Результатом был «С» файл с массивами битов для монохромного представления. Некоторое время пользовался ей, да и забыл (хотя нашёлся кто-то, выложивший её на одном из форумов в Сети).

— Через несколько лет появилась схожая задача, но уже с другим дисплеем — TIC154 на PCF8535. Дополнительно понадобилось переводить в формат «С» и изображения, а не только шрифты. Было решено написать новую программу с нужными возможностями, в том числе с изменяемым форматом выходного «С» файла и данными под разные контроллеры. Так родилась LCD Bitmap Converter, использовавшаяся, однако, в одном лишь только проекте, но речь не о ней.

— Спустя некоторое время, когда я пересел с Windows на Ubuntu Linux и уже там писал софт под микроконтроллеры, на горизонте замаячил проект с новым дисплеем BP320240E на RA8835, а также несколько изменилось понимание этой задачи, появились новые идеи, требования, которые и привели в итоге к появлению на свет программы LCD Image Converter...

lic 004

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

lic 006

lic 012

Если нужно изображение, можно создать новое (введя название структуры данных), либо импортировать из существующего графического файла (bmp, gif, jpg, jpeg, png, pbm, pgm, ppm, tiff, xbm, xpm), изменить размер на нужный, внести необходимые изменения и сохранить файл форматов bmp, jpg, png, ppm, tiff, xbm и xpm.

lic 005

lic 006

LCD Image Converter предлагает изменение состояния пикселей с помощью мыши (левая кнопка для цвета 1, правая для цвета 2), поворот (на 90, 180, 270 градусов), сдвиг, инверсия цветов, просмотр в редакторе в увеличении от 1 до 50 раз и редактирование с помощью внешнего редактора (например Gimp).

lic 013



lic 007

LCD Image Converter позволяет создать шрифт на основе имеющегося в системе и редактировать его. Доступно изменение размера и инверсия всех символов (либо выбранных), поддержка Юникода, шрифт может отрисовываться как моношириный, либо пропорциональный, сглаживание шрифтов может отключаться и пр... Выбранные символы могут быть объединены в одно изображение, для выбранных символов применимы все функции редактора изображения, имеется предварительный просмотр шрифта, сохраняется шрифт в xml файле и может быть открыт позже для продолжения редактирования.

lic 008

lic 011

lic 009

lic 014

Преобразование из массива байтов в исходник "C" осуществляется с помощью подстановки данных в файл шаблона. Этот файл является простым текстовым файлом с выделенными ключевыми словами. Можно использовать встроенные шаблоны, либо выбрать собственный файл шаблона в настройках (заданные настройки шаблона сохраняются при перезапуске). Преобразование нового документа так же можно выполнить в режиме командной строки (без использования GUI), используя заранее подготовленные настройки.
lic 015
lic 016
Лицензия: GNU General Public License version 3.0 (GPLv3)

lic 010

Домашняя страница

Страница на sourceforge.net

Страница на code.google.com

Страница на github.com