Създаване на изображения и шрифтове във формат - с - за вградени приложения


Кратка история

имаше подобен проблем, но с различен екран след няколко години - TIC154 на PCF8535. Освен това е необходимо да се преведат на формат "С" и изображение, а не само на шрифтове. Решено е да се напише нова програма с точните характеристики, включително формат променлив изход "С" на файлове и данни за различни контролери.






Така се ражда LCD Bitmap конвертор. употребяван, обаче, само само един проект, но това не е за нея.

Малко по-късно, когато се преместих от Windows към Ubuntu Linux, и там вече пише софтуер за микроконтролери, на хоризонта се издигаха на проекта с нов дисплей BP320240E на RA8835, и се е променило разбирането на този проблем, има нови идеи, изисквания, които са довели до края до раждането на програма LCD преобразувател на изображението.

предпоставки

Шрифтовете са съставени от образи на герои като битови низове, както и съвпадение на символни кодове тези масиви. Ето защо, като основната цел е да се осигури правилно представяне на изображението като масив от битове.

Опитът с TIC154 и BP320240E показа, че най-лесният начин да се формира изображение в буферната памет на кадрите в контролера и да предава след промяна в напълно дисплея.
Съхраняването на данните в паметта на дисплея, като ги четеше, модифицира и пишат обратно са получени значително по-бавно.

Работа с различни дисплеи доведе до разбиране на необходимостта от otvyazki програма от конкретния модел контролер, неговата ширина автобус данни на организацията и памет. Тъй като програмата е напълно пренаписана за всеки нов дисплей ще бъде глупаво :) От външната страна няма нищо лесно, и с необходимата функционалност.
Също така, в бъдещата дата, ще включва подкрепа за цветни дисплеи. Може би това не е много важно за шрифтове, но за изображения - напълно.

Понякога е необходимо да се покаже на специални знаци в текстов, които не са включени в Windows-1251 редовен таблицата с кодове от 32 до 255. Източници пишат програми в Linux, в UTF-8, защото идеята дойде да изпълни подкрепа Unicode. Това прави възможно да има в изходния текст, е в пълно съответствие с текста на дисплея. Без всякакъв вид "\ 0xff" конвенции ще се счита за буквата "I" и вместо "@" направи гръцката гама "гама"

В резултат изисквания

Така че, като се вземат предвид предишната версия на програмата, както и изискванията извън sleduyushie:
  • Създаване на изображения и шрифтове в "C" формат
  • Поддръжка на Unicode
  • Cross-платформа, в края на краищата, аз съм програмиране в LINUX
  • Черно-бели изображения и цвят (купчина нагоре) в сивата скала
  • Хоризонтална и вертикална ориентация на байтовете на памет
  • Размерът на елементите на данните в масиви 8, 16, 24 или 32 бита
  • 1. 24 бита на точка от монохромен до 24-битов RGB
  • Възможност да промените формата на изходния файл, без да променя самата програма
  • Различен ред на бита данни, например RGB, BGR, RBG и т.н.

Какво се случи

Qt 4.7 рамка е била избрана за изпълнение на функциите, които идват на помощ, по-платформа, скоростта на програмата, XML подкрепа, както и различни формати за изображения, Unicode "извън кутията" интернационализация.
Като основа за превръщането бяха избрани и приложени файловете с шаблони и анализатор за тях (в предишната версия беше XSL трансформация от XML в текст много ясно за непосветените).






Създаване на изображения и шрифтове във формат - с - за вградени приложения

Създаване на изображения и шрифтове във формат - с - за вградени приложения

Самостоятелно изображение алгоритъм преобразуване в масив от битове поддържа следните функции:
  • вертикална / хоризонтална ориентация на байта памет и всяка посока на сканиране на изображения точки (приложена предварителна въртене / отражение на изображения в дясната страна и винаги е последвано от сканирането от ляво на дясно и отгоре надолу)
  • Прехвърля се в черно-бяло изображение точки / сиво / RGB градация
  • данни малко смени за производството на всяка поръчка на цветни парчета и техните промени номер, например R5G6B5, R8G8B8 или просто BW1
  • Опаковка битове 8, 16, 24 или 32-битови блокове от данни, за да запълни масиви

Създаване на изображения и шрифтове във формат - с - за вградени приложения

Шаблоните са обикновени текстови файлове, които изглеждат по следния начин (в този случай, за снимката):
където текстът между @ и @ се заменят със съответните променливи, определени при създаването на изображение / текста или дори да го трансформира в формат "C".

Няколко примера за резултата

Уточнени в първото Butterfly снимка:

Създаване на изображения и шрифтове във формат - с - за вградени приложения

  • в XML формат

  • във формата на "C" (за цвят и черно-бяло)
  • на монохромен дисплей BP320240E контролер RA8835 на
    Създаване на изображения и шрифтове във формат - с - за вградени приложения

  • цветен дисплей с SSD1289 контролер
    Създаване на изображения и шрифтове във формат - с - за вградени приложения

шрифтове:
  • няколко знака на Ubuntu шрифтове в XML формат

  • Въпреки това, в "C" формат
  • текст на PCF8531 монохромен дисплей TIC32 контролер (вече има различен шрифт)
    Създаване на изображения и шрифтове във формат - с - за вградени приложения

Последната версия на програмата, по-подробни описания на настройките и алгоритми, могат да бъдат намерени на началната страница: LCD Снимка Converter

Преместих се от Windows към Ubuntu Linux, и там вече пише софтуер за микроконтролери, на хоризонта се издигаха на проекта с нов дисплей BP320240E на RA8835, и се е променило разбирането на този проблем, има нови идеи, изисквания, които в крайна сметка доведоха до раждането на програмата LCD Converter Image. Защо се извършва само онлайн версия на Windows? Когато версия за Ubuntu?

Тя ще без проблеми

BitFontCreator платени, и ако използвате безплатно, което е ограничено във времето.
А Converter LCD Изображението е свободен и има преобразуване на изображения и шрифтове, така да се каже всичко в едно.
Що се отнася до вашата препоръка:
1. Попитах сканиране: ляво на дясно, отдолу нагоре; инверсия.
Shift реда байт (Little-Endian / Big-къс) резултати не се променят.
2. Ако той е подходящ за изображението не е много удобна за шрифта на този метод.
послепис Има ли някаква възможност да прилагат този метод на сканиране в Converter LCD Image.

Всичко в едно се е случило, тъй като текст изходни функции, където съм била функцията на изходното изображение.
По същата причина и не представлява никаква неудобство за мен метод за показване на изхода. 1 и 2, които трябва да се използват заедно.

Той има възможност да реализира, разбира се. Но поради сложността, аз не го виждам, все още.