Ковертер изображения .
- Войдите на сайт для отправки комментариев
Пт, 15/01/2016 - 10:59
Здравствуйте , вопрос лаймерский , но ... задался целью вывести картинки вместо кнопок- и проблемма .Конвертирую изображение, вставляю в скетч и ошибка -error: size of array 'kran' is too large
const unsigned short kran[0x5911] ={. Примеров не могу найти как это делать , помогите , дайте ссылку. Спасибо .
Вы не написали, о какой модели Ардуино речь, поэтому предположу, что массив из 22801-го двубайтного элемента действительно слишком велик и в память не помещается. КО ))).
mega 2560
Тут думаю важно как реализован вывод в библиотеке, Вы какую используете, есть там примеры вывода изображений?
Для экранчика от нокии1202 массив выглядит так например, но это просто пример, для Вас нужно смотреть библиотеку.
вот параметры изображения
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)
Добрый день. Вопрос по той же теме. Та же ситуация - при попытке скомпилировать скетч ругается на:
В то же время Здесь и в примере от 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