Генератор изображений

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

Генератор изображений, Окно программы

Окно программы

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

Из инструментов на данный момент доступены карандаш, масштабирование и добавление точечного рисунка.

Генератор изображений, Окно добавление картинки

Окно добавление картинки

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

По завершению работ над изображением оно преобразуется в массив, который можно внедрить в прошивку микроконтроллера. К примеру, выше полученный рисунок будет выглядеть следующим образом:

static const char lcd_image_mas[768] =
{ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01,
  0x01, 0x03, 0x02, 0x06, 0x04, 0x0C, 0x08, 0x18, 0x10, 0x30, 0x20, 0x60,
  0x40, 0xC0, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
  0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x03, 0x07, 0x1F, 0x7C, 0xF0, 0xE0,
  0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
  0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
  0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
  0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
  0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
  0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
  0x00, 0x00, 0x00, 0x01, 0x01, 0x02, 0x02, 0x04, 0x04, 0x08, 0x08, 0x10,
  0x10, 0x20, 0x20, 0x40, 0x40, 0xC0, 0x80, 0x80, 0x00, 0x00, 0x00, 0x03,
  0x07, 0x1E, 0x7C, 0xF0, 0xC0, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
  0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
  0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x80, 0x80, 0x80,
  0xC0, 0xC0, 0xC0, 0xE0, 0xE0, 0xE0, 0xE0, 0xE0, 0xE0, 0xC0, 0x00, 0x00,
  0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
  0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
  0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x00,
  0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x01, 0x01, 0x02, 0x06,
  0x06, 0x0C, 0x08, 0x88, 0xDB, 0x6F, 0xB8, 0xF8, 0xF0, 0xE8, 0x60, 0x70,
  0x30, 0x70, 0x70, 0x78, 0x78, 0x78, 0x78, 0x78, 0x3C, 0x3C, 0x3C, 0x3C,
  0x3C, 0x3E, 0x1E, 0x1E, 0x1E, 0x1F, 0x1F, 0x0F, 0x0F, 0x0F, 0x0F, 0x0F,
  0x07, 0x07, 0x07, 0x07, 0x07, 0x03, 0x03, 0x03, 0x03, 0x01, 0x01, 0x00,
  0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x00, 0x40,
  0x00, 0x80, 0xA0, 0xA0, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
  0x00, 0x00, 0x00, 0x00, 0x04, 0x00, 0x02, 0x08, 0xED, 0xBC, 0xBC, 0xDF,
  0xDF, 0xF6, 0xF2, 0xFC, 0xFC, 0xF8, 0xF8, 0x74, 0x1A, 0xCA, 0xC4, 0x86,
  0xEA, 0xCB, 0xE3, 0x47, 0xE2, 0xFB, 0xFE, 0x7F, 0x63, 0x67, 0xEE, 0x3F,
  0xFF, 0xCF, 0x2F, 0xAF, 0x2C, 0x7C, 0x38, 0x70, 0xD0, 0xF0, 0xC0, 0xC0,
  0x90, 0x88, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
  0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
  0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x03, 0x27, 0x0F,
  0xFF, 0xFF, 0xFF, 0xFD, 0xED, 0xBE, 0xFE, 0x8E, 0xE1, 0xA8, 0x80, 0xE0,
  0xE0, 0xA0, 0xB2, 0xBE, 0x82, 0x80, 0xF9, 0xE9, 0xFD, 0xFF, 0xE3, 0xE7,
  0xFE, 0xF6, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xF2, 0xF3, 0xF3, 0xF1, 0xF0,
  0xF9, 0xF9, 0xFD, 0xFC, 0xFE, 0xFE, 0xFE, 0xFF, 0xFE, 0x7F, 0xEF, 0xFB,
  0xF1, 0xE1, 0xFC, 0xFD, 0xFF, 0xFC, 0xB6, 0x74, 0x39, 0x1A, 0x0F, 0x01,
  0x03, 0x07, 0x07, 0x0E, 0x0E, 0x1C, 0x3C, 0x38, 0x70, 0x70, 0xE0, 0xE0,
  0xC0, 0xC0, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
  0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x10, 0x04,
  0x06, 0x06, 0x06, 0x07, 0x01, 0x01, 0x02, 0x06, 0x07, 0x0F, 0x1C, 0x1D,
  0x10, 0x11, 0x00, 0x00, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x03,
  0x03, 0x07, 0x07, 0x07, 0x0F, 0x0F, 0x0F, 0x2F, 0xFF, 0xEF, 0x6F, 0xF7,
  0xE7, 0xF7, 0xFF, 0xFF, 0xFF, 0xFF, 0xFE, 0xFF, 0xFF, 0xE3, 0x01, 0x00,
  0x00, 0x00, 0x00, 0x00, 0x01, 0x01, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00,
  0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01,
  0x01, 0x03, 0x03, 0x07, 0x0F, 0x0E, 0x1E, 0x1C, 0x38, 0x78, 0x70, 0xF0,
  0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
  0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
  0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
  0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0C, 0x0F, 0x0F, 0x07, 0x06,
  0x00, 0x00, 0x00, 0x01, 0x01, 0x01, 0x01, 0x01, 0x00, 0x00, 0x00, 0x00,
  0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
  0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
  0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
  0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
  0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
  0x78, 0x14, 0x14, 0x7C, 0x00, 0x7C, 0x40, 0x40, 0x40, 0x00, 0x7C, 0x54,
  0x54, 0x44, 0x00, 0x44, 0x28, 0x10, 0x28, 0x44, 0x00, 0x10, 0x10, 0x10,
  0x00, 0x7C, 0x54, 0x54, 0x44, 0x00, 0x44, 0x28, 0x10, 0x28, 0x44, 0x00,
  0x7C, 0x54, 0x54, 0x44, 0x00, 0x40, 0x00, 0x7C, 0x08, 0x10, 0x20, 0x7C,
  0x00, 0x7C, 0x54, 0x54, 0x44, 0x00, 0x04, 0x04, 0x7C, 0x04, 0x04, 0x40,
  0x00, 0x7C, 0x14, 0x34, 0x48, 0x00, 0x3C, 0x40, 0x40, 0x7C, 0x40, 0x00};

void lcd_image()
{
	char x,y;
	for(y=0;y < 8;y++)
	{
		lcd_gotoxy(0,y);
		for(x=0;x < 96;x++)
		lcd_send(lcd_image_mas[y*96+x], LCD_TDATA);
	}
}

Если размеры изображения будут отличаться от 96х64 – в функции lcd_image() нужно будет указать своё количество точек по горизонтали и количество линий по вертикали.

Данная программа подходит для генерации изображений для таких дисплеев как: nokia3310, nokia1100 и им подобным монохромным дисплеям, для все монохромных графических дисплеев Wistar (например: WG320240). А также всех остальных дисплеев со схожим типом построения картинки.

Скачать программу Image generate версия 2.004

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

30 комментариев на « Генератор изображений»

  1. Павел пишет 11.12.2011 в 20:56 #

    Огромное человеческое спасибо!
    А какой-нибудь вариант сохранения нарисованного или преобразования из массива(обратная операция) можно попросить?

  2. Alex_EXE пишет 12.12.2011 в 11:50 #

    Идея хорошая, о такой функции как-то думал. В одной из последующих версий реализую, а пока займусь другими проектами.

  3. Павел пишет 12.12.2011 в 20:59 #

    В любом случае — спасибо. :о)

  4. Denis пишет 18.12.2011 в 02:16 #

    Замечательная программа у вас получилась.
    А можно ли убрать ограничение 320х240 или по крайней мере увеличить лимиты?
    И ещё вопрос: изображение формируется 8-битными столбцами, но у дисплеев и других устройств вывода есть режим заполнения не только по вертикали, но и по горизонтали (а у некоторых только по горизонтали, но принцип такой же — изображение в однобитной палитре передаётся по последовательному интерфейсу по 1 байту за раз). Можно ли сделать в программе переключатель генерации кода из вертикального режима в горизонтальный?

  5. Alex_EXE пишет 26.12.2011 в 00:08 #

    Расширить вдвое пределы можно будет, при желание и в четверо. Дисплеи с горизонтальным заполнением не встречал, ради интереса можете привести пример. Над переключением подумать можно будет.

  6. vadim58 пишет 20.01.2012 в 13:31 #

    восхетительная программа!!! интересно, можно ли абсолютному чайнику как то начать пользоваться этим.

  7. Alex_EXE пишет 23.01.2012 в 14:09 #

    А что в ней сложного? она не сложнее Paint вышла. Единственное рисунок нужно уже подготовленный загружать (цвета выровнять если надо) и преобразовать в точечный. А для загрузки в микроконтроллер уже должны быть кое-какие навыки программирования.
    Да, возможностей и настроек пока маловато, следующая версия будет помощнее, но только когда продолжу работу над ней пока сказать не могу.

  8. Alex пишет 28.01.2012 в 16:52 #

    Спасибо за программу как раз искал под 3310 дисплей

  9. Алексей пишет 07.03.2012 в 13:33 #

    Спасибо,очень хорошая программа, до этого делал рисунки вручную,у меня дисплей к STM32 прикручен

  10. Виктор пишет 29.03.2012 в 17:55 #

    Спасибо! Просто великолепная программа. Применил к Nokia 1202 + MSP430F2618.

  11. Ансаган пишет 02.12.2012 в 23:35 #

    Аlex это программа может работать с любыми жк?

  12. Alex_EXE пишет 03.12.2012 в 01:24 #

    Почти: разрешение экрана максимум 320х240 и порядок передачи данных (столбцами по 8 бит) должны соответствовать.

  13. Гоша пишет 07.12.2012 в 11:33 #

    На счёт ЖКИ с горизонтальным заполнением. В качестве примера могу привести очень популярный графический контроллер T6963 (или его клон — RA6963). Дисплеев на данном контроллере выпускают довольно много. Поэтому возможность генерации массива для горизонтального заполнения была бы очень полезной.

  14. Alex_EXE пишет 10.12.2012 в 20:36 #

    Когда вернусь к работе над программой, то добавлю такой функционал.

  15. Макс пишет 21.02.2013 в 02:47 #

    Статья хорошая только жаль программу скачать нельзя.

  16. Alex_EXE пишет 21.02.2013 в 13:45 #

    Ссылка в конце статьи!

  17. Андрей пишет 03.09.2013 в 04:05 #

    доброго времени суток. уважаемый Alex_EXE есть подобная программа только чтоб под ассемблер выводила код для mplab? и скажите пожалуйста какой прогой вы пользуетесь та что на картинке?

  18. Alex_EXE пишет 03.09.2013 в 04:35 #

    Приведите формат для ассемблера, может быть добавлю. Собственно той самописной проге, что на картинке и посвящена статья.

  19. Андрей пишет 03.09.2013 в 06:24 #

    Alex_EXE я про картинку которая 3я сверху. ну к примеру микропаскаль или кодвижен…

  20. Alex_EXE пишет 03.09.2013 в 07:06 #

    В статье всего 2 изображения, может листинг?
    Си. Для пиков mplab + hitech компилятор

  21. Андрей пишет 03.09.2013 в 07:29 #

    К примеру, выше полученный рисунок будет выглядеть следующим образом: и вот дальше картинка. это mplab?

  22. Akex пишет 22.02.2014 в 17:54 #

    Здравствуйте, а можете написать синтаксиз функции lcd_send(lcd_image_mas[y*96+x], LCD_TDATA);
    или ссылку на нее, может где ранее описывали.

  23. Alex_EXE пишет 22.02.2014 в 21:53 #

    Смотрите внимательно ссылки в статье или тег LCD.

  24. H`UGO пишет 18.06.2014 в 21:46 #

    Здравствуёте Alex_EXE! Спасибо за прогу! Частенько юзаю для PCF8814 (nokia 1100, 1280) на AVR.

  25. Иван Абдулхаев пишет 17.04.2015 в 15:10 #

    Хорошая программа! Несколько лет назад неделю потратил на формирование картинки для МЭЛТ12864. Вставлял в паинт, расчерчивал сетку, вручную нули-единицы двоичных чисел напряжённо правил, а тут кнопку нажал и код готов.

  26. Євген пишет 06.07.2015 в 15:08 #

    Доброго дня,а чому я неможу закинути картинку в цю програму?

  27. Aleksandr пишет 01.08.2016 в 21:08 #

    Огромное Спасибо за ВАШУ программу!!!!!

  28. Иван пишет 04.03.2017 в 03:11 #

    Программа отличная, ни чего лишнего, жаль только разрешение нельзя выставить точно под экран, у меня от мотороллы т191 экран, там 102х65 🙁 а выставляется 100 либо 104 на 64 или 72.

  29. Сергей пишет 03.10.2019 в 23:56 #

    Программа супер!
    У меня стоит задача исправить имеющийся шрифт от http://www.rinkydinkelectronics.com/r_fonts.php, — можно добавить функцию отображения шрифта из массива с последующей его корректировкой ?

  30. Alex_EXE пишет 04.10.2019 в 20:29 #

    Эта программа не предназначалась для работы со списками объектов. Плюс её исходный код почти или полностью потерян.
    В будущем (точнее не раньше следующего года) могу выложить второй конвертер шрифтов. Но пока он не доделан и текущая версия не для распространения.
    Возможно новая версия генератора шрифтов

Комментарии RSS

Оставьте отзыв