Ковертер изображения .
- Войдите на сайт для отправки комментариев
Пт, 15/01/2016 - 10:59
Здравствуйте , вопрос лаймерский , но ... задался целью вывести картинки вместо кнопок- и проблемма .Конвертирую изображение, вставляю в скетч и ошибка -error: size of array 'kran' is too large
const unsigned short kran[0x5911] ={. Примеров не могу найти как это делать , помогите , дайте ссылку. Спасибо .
Вы не написали, о какой модели Ардуино речь, поэтому предположу, что массив из 22801-го двубайтного элемента действительно слишком велик и в память не помещается. КО ))).
mega 2560
Тут думаю важно как реализован вывод в библиотеке, Вы какую используете, есть там примеры вывода изображений?
Для экранчика от нокии1202 массив выглядит так например, но это просто пример, для Вас нужно смотреть библиотеку.
static const char image_gres[768] PROGMEM = { 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x83, 0x7D, 0x5D, 0x9B, 0xFF, 0xFF, 0xFF, 0xFF, 0x01, 0xED, 0xED, 0x13, 0xFF, 0xFF, 0xFF, 0xFF, 0x01, 0x6D, 0x6D, 0x7D, 0xFF, 0xFF, 0xFF, 0xFF, 0xB3, 0x6D, 0x6D, 0x9B, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x3F, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x03, 0x03, 0x03, 0x03, 0x01, 0x01, 0x01, 0x01, 0x03, 0x03, 0x03, 0x03, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x03, 0x0F, 0x0F, 0x0F, 0x0F, 0x1F, 0x1F, 0x3F, 0x3F, 0x3F, 0x3F, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xCF, 0xCF, 0x8F, 0x8F, 0x07, 0x07, 0x07, 0x07, 0x0F, 0x0F, 0x0F, 0x0F, 0x08, 0x3C, 0x3C, 0xFC, 0xFC, 0x0E, 0x0E, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xBC, 0xBC, 0xFC, 0xFC, 0x7C, 0x7C, 0x0C, 0x0C, 0x04, 0x04, 0x04, 0x04, 0x04, 0x04, 0x04, 0x0C, 0x0C, 0x08, 0x08, 0x30, 0x30, 0x40, 0x40, 0x81, 0x81, 0x01, 0x01, 0x0F, 0x0F, 0x4F, 0x4F, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x87, 0x87, 0x03, 0x03, 0x03, 0x03, 0x0F, 0x0F, 0x8C, 0x8C, 0xE4, 0xE4, 0xE4, 0xFC, 0xFC, 0xFF, 0xFF, 0xFC, 0xFC, 0xF8, 0xF8, 0xF8, 0xF8, 0x1C, 0x1C, 0x1F, 0x1F, 0xFF, 0xFF, 0xF8, 0xF8, 0xF0, 0xF0, 0xE0, 0xE0, 0x80, 0x80, 0x07, 0x07, 0x07, 0x00, 0x00, 0x80, 0x80, 0xE0, 0xE0, 0x78, 0x78, 0x1C, 0x1C, 0x84, 0x84, 0xE3, 0xE3, 0xE0, 0xE0, 0x03, 0x03, 0x7F, 0x7F, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x1F, 0x1F, 0xCF, 0xCF, 0xEF, 0xEF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x07, 0x07, 0x3F, 0x3F, 0xFF, 0xFF, 0xEF, 0xEF, 0xDF, 0xDF, 0x3F, 0x3F, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x1F, 0x1F, 0x08, 0x08, 0x00, 0x00, 0x01, 0x01, 0x07, 0x07, 0x07, 0x07, 0x0F, 0x0F, 0x0F, 0x0F, 0x0F, 0xCF, 0xCF, 0xC7, 0xC7, 0xE1, 0xE1, 0x30, 0x30, 0x38, 0x38, 0xDF, 0xDF, 0x17, 0x17, 0xF0, 0xF0, 0xFF, 0xFF, 0x00, 0x00, 0x08, 0x08, 0xCF, 0x0F, 0x0F, 0x0F, 0x0F, 0x1F, 0x1F, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFE, 0xFE, 0xFE, 0xFE, 0xF3, 0xF3, 0x1D, 0x1D, 0x03, 0x03, 0xE2, 0xE2, 0x1F, 0x1F, 0x1D, 0x1D, 0x3D, 0x3D, 0x33, 0x33, 0x33, 0x33, 0xE3, 0xE3, 0xE3, 0xA1, 0xA1, 0x01, 0x01, 0x10, 0x10, 0x20, 0x20, 0xE0, 0xE0, 0xE0, 0xE0, 0x10, 0x10, 0x10, 0x10, 0xFC, 0xFC, 0xFC, 0xFC, 0xFE, 0xFE, 0x0F, 0x83, 0x83, 0x7F, 0x7F, 0x01, 0x01, 0x00, 0x00, 0x8E, 0x8E, 0xFF, 0xFF, 0x70, 0x70, 0x3F, 0x3F, 0xC3, 0xC3, 0xF0, 0xF0, 0xFE, 0xFE, 0xFD, 0xF1, 0xF1, 0xFC, 0xFC, 0xFE, 0xFE, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFE, 0xFE, 0xFE, 0xFE, 0xF9, 0xF9, 0xC0, 0xC0, 0xC0, 0xC0, 0xF8, 0xF8, 0xF8, 0xF8, 0x8E, 0x8E, 0x03, 0x01, 0x01, 0x0F, 0x0F, 0xF0, 0xF0, 0xFC, 0xFC, 0x00, 0x00, 0x01, 0x01, 0x03, 0x03, 0x0C, 0x0C, 0xF8, 0xF8, 0xFF, 0xFF, 0xC3, 0xC3, 0xC1, 0xC1, 0x00, 0x37, 0x37, 0x3C, 0x3C, 0x8C, 0x8C, 0xC6, 0xC6, 0xF3, 0xF3, 0xF9, 0xF9, 0xFC, 0xFC, 0xFE, 0xFE, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xF7, 0xFF, 0xFF, 0xFC, 0xFC, 0xEF, 0xEF, 0xE7, 0xE7, 0xE7, 0xE7, 0xE4, 0xE4, 0xE7, 0xE7, 0xF3, 0xF3, 0xF3, 0xF3, 0xF0, 0xF0, 0xF8, 0xF8, 0xF8, 0xF8, 0xFC, 0xFC, 0xFC, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF};вот параметры изображения
Generated by : ImageConverter 565 v2.3
Generated from: kran.JPG
Time generated: 15.01.2016 14:45:01
Dimensions : 151x151 pixels
Size : 45 602 Bytes
Конвертор, конвертором, ВАЖНО как библиотека обрабатывает массив с изображением.
Какую используете библиотеку? Ссылки в студию!
я делаю так - беру конвертер из библиотеки UTFT , конвертирую и вставляю в папку со скетчем , как например шрифты . Это правильно ?
может у кого ссылка есть на пример ?
В стандартной среде нет этой библиотеки, где Вы ее взяли? Дайте ссылку.
http://www.rinkydinkelectronics.com/library.php?id=51
Вот смотрите, по Вашей ссылке, есть на странице ссылка ниже на мануал, там на последней странице функции вывода изображений описаны.
В самой библиотеке еесть папка UTFT\examples\Arduino (AVR)\UTFT_Bitmap и в ней собственно сам пример использования UTFT\examples\Arduino (AVR)\UTFT_Bitmap\UTFT_Bitmap.ino.
В этом примере функция выводит на дисплей изображение, массив которого находится в файлеUTFT\examples\Arduino (AVR)\UTFT_Bitmap\info.c.
В этом примере все можно наглядно посмотреть.
Вы именно этот пример откройте и попробуйте его скомпилировать.
Сорри, маленько накосячил с путями, поправил.
Добавлю еще, попробовал скомпилировать сам, этот пример у меня не влазит в УНО, не хватает памяти. Вот такие вот они, эти графические библиотеки... В Меге компилируется, но в железе проверить не могу, нет у меня этого дисплея.
Вот смотрите, по Вашей ссылке, есть на странице ссылка ниже на мануал, там на последней странице функции вывода изображений описаны.
В самой библиотеке еесть папка UTFT\examples\Arduino (AVR)\UTFT_Bitmap и в ней собственно сам пример использования UTFT\examples\Arduino (AVR)\UTFT_Bitmap\UTFT_Bitmap.ino.
В этом примере функция выводит на дисплей изображение, массив которого находится в файлеUTFT\examples\Arduino (AVR)\UTFT_Bitmap\info.c.
В этом примере все можно наглядно посмотреть.
Вы именно этот пример откройте и попробуйте его скомпилировать.
Сорри, маленько накосячил с путями, поправил.
Добавлю еще, попробовал скомпилировать сам, этот пример у меня не влазит в УНО, не хватает памяти. Вот такие вот они, эти графические библиотеки... В Меге компилируется, но в железе проверить не могу, нет у меня этого дисплея.
на меге у меня тоже говорит размер большой , а другая есть библиотека ?
Вы именно это пример компилируете? А какая версия среды? Плата верно выбрана?
Только что специально проверил еще раз. Версия среды 1.6.5, открыл этот пример, выбрал мегу, скомпилировал.
Вот лог:
полноцветные изображения для ардуины жирновато. Используйте монохромные или с несколькими цветами (2-8)
Добрый день. Вопрос по той же теме. Та же ситуация - при попытке скомпилировать скетч ругается на:
sketch\zhara.c:9:10: error: size of array 'zhara' is too large uint32_t zhara[0x5848] PROGMEM ={ ^ exit status 1 Ошибка компиляции для платы Arduino/Genuino Mega or Mega 2560.В то же время Здесь и в примере от UTFT (UTFT\examples\Arduino (AVR)\UTFT_Bitmap\) приведены примеры вывода на много большего по размеру изобрежения чем я использую. Кстати, тот же пример из библиотеки не компилируется: ругается на prog_uint16_t , нужно заменить на const uint16_t.
Делаю все это на МЕГЕ2560. Дисплей ili9486 480*272. Мелкие изображения (32*32) идут без проблем. но все что по-крупнее - нет. Хотя в примерах используются изображения даже 240*160.
Максимольное изображение, которое мне удалось загрузить - 170*96 zhara[0x3FC0]. Все что крупнее - ошибка array is too large
В чем проблема?
Кроме геометрических размеров (ширина, высота) у изображения есть еще глубина цвета. Поэтому изображения (несжатые) одинакового размера могут требовать объем памяти, отличающийся в десятки раз.
В конце концов, помнится, в школе изучали такую науку - арифметика называется. Если Вы ее вспомните, то легко сможете определять, какое изображение поместится в память, а какое - нет. Формула простая: нужно перемножить между собой ширину, высоту и глубину цвета, после чего поделить на 8 (количество битов в байте). Результат получится в байтах.
Тут посмотрите http://arduino.ru/forum/programmirovanie/biblioteka-dlya-lcd-nokia-1100?page=7#comment-212906