Поиск по этому блогу

28 янв. 2014 г.

Генератор изображений для LCD

Генератор изображений немного изменился, теперь он может создавать массивы картинок с максимальным разрешением 320х240.

Генератор изображений, Окно программы
Окно программы
Программа позволяет подготавливать монохромные картинки для графических дисплеев с разрешением от 4х8 до 320х240 с кратностью шага 4 по горизонтали, 8 по вертикали.

Из инструментов на данный момент доступны карандаш, масштабирование и добавление точечного рисунка.
Генератор изображений, Окно добавление картинки
Окно добавление картинки
Если этих средств вам недостаточно, то вы можете подготовить точечный рисунок в любом из графических редакторов и вставить в программу.
По завершению работ над изображением оно преобразуется в массив, который можно внедрить в прошивку микроконтроллера. К примеру, выше полученный рисунок будет выглядеть следующим образом:
01.static const char lcd_image_mas[768] =
02.{ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01,
03.0x01, 0x03, 0x02, 0x06, 0x04, 0x0C, 0x08, 0x18, 0x10, 0x30, 0x20, 0x60,
04.0x40, 0xC0, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
05.0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x03, 0x07, 0x1F, 0x7C, 0xF0, 0xE0,
06.0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
07.0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
08.0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
09.0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
10.0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
11.0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
12.0x00, 0x00, 0x00, 0x01, 0x01, 0x02, 0x02, 0x04, 0x04, 0x08, 0x08, 0x10,
13.0x10, 0x20, 0x20, 0x40, 0x40, 0xC0, 0x80, 0x80, 0x00, 0x00, 0x00, 0x03,
14.0x07, 0x1E, 0x7C, 0xF0, 0xC0, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
15.0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
16.0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x80, 0x80, 0x80,
17.0xC0, 0xC0, 0xC0, 0xE0, 0xE0, 0xE0, 0xE0, 0xE0, 0xE0, 0xC0, 0x00, 0x00,
18.0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
19.0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
20.0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x00,
21.0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x01, 0x01, 0x02, 0x06,
22.0x06, 0x0C, 0x08, 0x88, 0xDB, 0x6F, 0xB8, 0xF8, 0xF0, 0xE8, 0x60, 0x70,
23.0x30, 0x70, 0x70, 0x78, 0x78, 0x78, 0x78, 0x78, 0x3C, 0x3C, 0x3C, 0x3C,
24.0x3C, 0x3E, 0x1E, 0x1E, 0x1E, 0x1F, 0x1F, 0x0F, 0x0F, 0x0F, 0x0F, 0x0F,
25.0x07, 0x07, 0x07, 0x07, 0x07, 0x03, 0x03, 0x03, 0x03, 0x01, 0x01, 0x00,
26.0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x00, 0x40,
27.0x00, 0x80, 0xA0, 0xA0, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
28.0x00, 0x00, 0x00, 0x00, 0x04, 0x00, 0x02, 0x08, 0xED, 0xBC, 0xBC, 0xDF,
29.0xDF, 0xF6, 0xF2, 0xFC, 0xFC, 0xF8, 0xF8, 0x74, 0x1A, 0xCA, 0xC4, 0x86,
30.0xEA, 0xCB, 0xE3, 0x47, 0xE2, 0xFB, 0xFE, 0x7F, 0x63, 0x67, 0xEE, 0x3F,
31.0xFF, 0xCF, 0x2F, 0xAF, 0x2C, 0x7C, 0x38, 0x70, 0xD0, 0xF0, 0xC0, 0xC0,
32.0x90, 0x88, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
33.0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
34.0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x03, 0x27, 0x0F,
35.0xFF, 0xFF, 0xFF, 0xFD, 0xED, 0xBE, 0xFE, 0x8E, 0xE1, 0xA8, 0x80, 0xE0,
36.0xE0, 0xA0, 0xB2, 0xBE, 0x82, 0x80, 0xF9, 0xE9, 0xFD, 0xFF, 0xE3, 0xE7,
37.0xFE, 0xF6, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xF2, 0xF3, 0xF3, 0xF1, 0xF0,
38.0xF9, 0xF9, 0xFD, 0xFC, 0xFE, 0xFE, 0xFE, 0xFF, 0xFE, 0x7F, 0xEF, 0xFB,
39.0xF1, 0xE1, 0xFC, 0xFD, 0xFF, 0xFC, 0xB6, 0x74, 0x39, 0x1A, 0x0F, 0x01,
40.0x03, 0x07, 0x07, 0x0E, 0x0E, 0x1C, 0x3C, 0x38, 0x70, 0x70, 0xE0, 0xE0,
41.0xC0, 0xC0, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
42.0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x10, 0x04,
43.0x06, 0x06, 0x06, 0x07, 0x01, 0x01, 0x02, 0x06, 0x07, 0x0F, 0x1C, 0x1D,
44.0x10, 0x11, 0x00, 0x00, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x03,
45.0x03, 0x07, 0x07, 0x07, 0x0F, 0x0F, 0x0F, 0x2F, 0xFF, 0xEF, 0x6F, 0xF7,
46.0xE7, 0xF7, 0xFF, 0xFF, 0xFF, 0xFF, 0xFE, 0xFF, 0xFF, 0xE3, 0x01, 0x00,
47.0x00, 0x00, 0x00, 0x00, 0x01, 0x01, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00,
48.0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01,
49.0x01, 0x03, 0x03, 0x07, 0x0F, 0x0E, 0x1E, 0x1C, 0x38, 0x78, 0x70, 0xF0,
50.0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
51.0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
52.0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
53.0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0C, 0x0F, 0x0F, 0x07, 0x06,
54.0x00, 0x00, 0x00, 0x01, 0x01, 0x01, 0x01, 0x01, 0x00, 0x00, 0x00, 0x00,
55.0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
56.0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
57.0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
58.0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
59.0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
60.0x78, 0x14, 0x14, 0x7C, 0x00, 0x7C, 0x40, 0x40, 0x40, 0x00, 0x7C, 0x54,
61.0x54, 0x44, 0x00, 0x44, 0x28, 0x10, 0x28, 0x44, 0x00, 0x10, 0x10, 0x10,
62.0x00, 0x7C, 0x54, 0x54, 0x44, 0x00, 0x44, 0x28, 0x10, 0x28, 0x44, 0x00,
63.0x7C, 0x54, 0x54, 0x44, 0x00, 0x40, 0x00, 0x7C, 0x08, 0x10, 0x20, 0x7C,
64.0x00, 0x7C, 0x54, 0x54, 0x44, 0x00, 0x04, 0x04, 0x7C, 0x04, 0x04, 0x40,
65.0x00, 0x7C, 0x14, 0x34, 0x48, 0x00, 0x3C, 0x40, 0x40, 0x7C, 0x40, 0x00};
66. 
67.void lcd_image()
68.{
69.char x,y;
70.for(y=0;y < 8;y++)
71.{
72.lcd_gotoxy(0,y);
73.for(x=0;x < 96;x++)
74.lcd_send(lcd_image_mas[y*96+x], LCD_TDATA);
75.}
76.}
Если размеры изображения будут отличаться от 96х64 – в функции lcd_image() нужно будет указать своё количество точек по горизонтали и количество линий по вертикали.
Данная программа подходит для генерации изображений для таких дисплеев как: nokia3310, nokia1100 и им подобным монохромным дисплеям, для все монохромных графических дисплеев Wistar (например: WG320240). А также всех остальных дисплеев со схожим типом построения картинки.


Предыдущая версия программы лежит тут — Генератор изображений (версия 1).