|
BMP | Jpeg -> Sеream, Пребразование BMP, Jpg в H-файл в виде потока |
|
|
|
Dec 21 2008, 14:18
|
Частый гость
 
Группа: Свой
Сообщений: 82
Регистрация: 9-06-06
Из: Украина
Пользователь №: 17 926

|
Не нашел в сети конвертора картинок в поток для армов с LCD .... Ну как, они то есть, но не совсем подходят. у кого разрешение низкое, кто не поддерживает RGB 5:6:5 Вот решил сесть и написать свое. Предлагаю ВАМ на "заплевать" мое творение за вечер. Если будет интересно... предлагайте , что бы вы хотели туда добавить.... Пока реализовано: 1. Поддержка файлов BMP и Jpeg 2. автоматическое приведение размера картинки к требуемуму (320х240, 640х480) 3. автоматическое конвертирование цвета 16 BPP и 24 BPP (32 бита) 4. Генерация текста в окне (Copy-Paste в ваш H-файл) в ближайшее время доделаю 1. Сохранение прямо в указанный файл 2. Сохранение всех настроек в реестре 3. Ну и ваши пожелания, если будут.... PS БЕЗ палитры! пока. Может будет 8 бит на пиксель, тогда добавлю палитру.... Сам файл....
|
|
|
|
|
Dec 22 2008, 07:54
|
Частый гость
 
Группа: Свой
Сообщений: 82
Регистрация: 9-06-06
Из: Украина
Пользователь №: 17 926

|
новый релиз..... с доделками... Да... НАРОД! А можно не просто скачивать, а еще и высказываться ? Неплохо было бы довести до ума фичу, раз уж начал ее делать.... Проверено16BPP 640x480 на LPC2478 + LQ064V3DG01 (фотку могу выложить) ПросьбаУ кого есть возможность... проверить 320х240 24BPP (32 Bits) и отписаться..
|
|
|
|
|
Dec 22 2008, 08:07
|
Гуру
     
Группа: Свой
Сообщений: 2 702
Регистрация: 14-07-06
Пользователь №: 18 823

|
Цитата(SergeyGSM @ Dec 22 2008, 11:54)  Да... НАРОД! А можно не просто скачивать, а еще и высказываться ? Можно. Цель сей программы? Реализация фоторамки на LPC2478? Дело в том, что ARM7 производительностью не блещет. Я, например, для GUI использую заранее подготовленные файлы.
--------------------
Уходя, оставьте свет...
|
|
|
|
|
Dec 22 2008, 08:24
|
Частый гость
 
Группа: Свой
Сообщений: 82
Регистрация: 9-06-06
Из: Украина
Пользователь №: 17 926

|
Цитата(Dog Pawlowa @ Dec 22 2008, 12:07)  Можно. Цель сей программы? Реализация фоторамки на LPC2478? Дело в том, что ARM7 производительностью не блещет. Я, например, для GUI использую заранее подготовленные файлы. фоторамка тут не причем подготовка "своих " битмапов для GUI - различные "побрякушки " на кнопочки и тд..... это для чего я ее делал, а куда вы "пристроите" - вам решать.... Цитата(aaarrr @ Dec 22 2008, 12:16)  ИМХО, гораздо удобнее реализовать поддержку bmp с любым разрешением и глубиной цвета в программе для МК, а на PC только паковать файлы каким-нибудь LZ. может быть, а заголовки вам во флеше тоже нужны? и , если глубина цвета на вашем мк не такая как в файле? , еще и тратить время МК на конвертирование? Это только те аргументы, которые сподвигли меня делать все это.....
|
|
|
|
|
Dec 22 2008, 08:50
|
Гуру
     
Группа: Свой
Сообщений: 10 713
Регистрация: 11-12-04
Пользователь №: 1 448

|
Цитата(SergeyGSM @ Dec 22 2008, 11:24)  может быть, а заголовки вам во флеше тоже нужны? Заголовки много не занимают, тем более в компрессированном виде. Цитата(SergeyGSM @ Dec 22 2008, 11:24)  и , если глубина цвета на вашем мк не такая как в файле? , еще и тратить время МК на конвертирование? Зато не нужно специально конвертировать файлы (а их несколько сотен): просто взял любую bmp-шку, скопировал в каталог resources и все. Для элементов GUI лучше всего подходит 8bpp с оптимизированной палитрой, соответственно ресурсы МК нужны только на конвертирование самой палитры. Еще один плюс в том, что нет привязки к конфигурации железа - на экране можно ставить 8-16-24-32bpp ничего при этом не меняя в файлах ресурсов.
|
|
|
|
|
Dec 22 2008, 11:48
|
Частый гость
 
Группа: Свой
Сообщений: 82
Регистрация: 9-06-06
Из: Украина
Пользователь №: 17 926

|
Цитата(aaarrr @ Dec 22 2008, 12:50)  Заголовки много не занимают, тем более в компрессированном виде. Зато не нужно специально конвертировать файлы (а их несколько сотен): просто взял любую bmp-шку, скопировал в каталог resources и все. Для элементов GUI лучше всего подходит 8bpp с оптимизированной палитрой, соответственно ресурсы МК нужны только на конвертирование самой палитры. Еще один плюс в том, что нет привязки к конфигурации железа - на экране можно ставить 8-16-24-32bpp ничего при этом не меняя в файлах ресурсов. Может быть... не спорю, хотя мог бы.....(палитра , заголовки.....) в вашем случае может быть и удобно через палитру.... но быстрее потоком.... все, все, все ..... не спорю.....
|
|
|
|
|
Dec 23 2008, 18:36
|
Участник

Группа: Участник
Сообщений: 27
Регистрация: 17-11-08
Пользователь №: 41 692

|
protestiroval na olimex LPC-2478STK - rabotaet! Izobrajenie pokazivaetcya otlichno! razreshenie - 320*240 24bit
|
|
|
|
|
Dec 24 2008, 13:35
|
Частый гость
 
Группа: Свой
Сообщений: 82
Регистрация: 9-06-06
Из: Украина
Пользователь №: 17 926

|
Цитата(Hermes @ Dec 23 2008, 22:36)  protestiroval na olimex LPC-2478STK - rabotaet! Izobrajenie pokazivaetcya otlichno! razreshenie - 320*240 24bit спасибо огромное. в установках выбирается разрешение TFT , а не размер картинки!!! Кому нужны другие разрешения - пишите , доделаю.
Сообщение отредактировал SergeyGSM - Dec 24 2008, 13:35
|
|
|
|
|
Dec 24 2008, 20:07
|
Участник

Группа: Участник
Сообщений: 27
Регистрация: 17-11-08
Пользователь №: 41 692

|
было бы супер если бы она сама умела определять разрешения другими словами, если картинка 320*240 он её так и оставляет, если меньше, например, 16*16 то тоже оставляет, а если скажем 800*600 спрашивает в какое именно разрешение переделать... было бы значительно удобней... да и исходники бы не помешали бы  (но я не настаиваю, каждый сам решает что его собственное  )
|
|
|
|
|
Dec 25 2008, 21:30
|
Частый гость
 
Группа: Свой
Сообщений: 82
Регистрация: 9-06-06
Из: Украина
Пользователь №: 17 926

|
Цитата(Hermes @ Dec 25 2008, 00:07)  было бы супер если бы она сама умела определять разрешения другими словами, если картинка 320*240 он её так и оставляет, если меньше, например, 16*16 то тоже оставляет, а если скажем 800*600 спрашивает в какое именно разрешение переделать... было бы значительно удобней... да и исходники бы не помешали бы  (но я не настаиваю, каждый сам решает что его собственное  ) 1. вы в самом начале "определяетесь" какого разрешения ваш LCD и устанавливаете в настройках. Затем прога автоматом приводит картинку к 320 точкам (к примеру, если выбран режим 320х240) по горизонтали и пропорционально уменьшает кол- во строк (те соблюдает пропорцию). Это если картинка по горизонтали превышает 320 точек. Если картинка по вертикали больше 240 линий - то автоматом подгоняет под 240 линий. ТЕ ваша картинка по-любому будет на LCD полностью! картинки меньшего разрешения не растягиваются - все остаеться как есть!обратите внимание на первые два short | long в дампе , который генерит прога - это ширина и высота в дальнейшем функция вывода потока в буфер LCD должна использовать эти значения в качестве аргументов , для определения размера области LCD, куда собственно и нужно выводить этот поток. 2. Прога писана на Delphi и без комментов , почти - есть желание копаться в коде? 800*600 добавить?
|
|
|
|
|
Jan 4 2009, 13:22
|
Участник

Группа: Участник
Сообщений: 60
Регистрация: 16-11-07
Пользователь №: 32 388

|
А можно реальзовать вариант хранения картинок в формате jpeg в внутренней или внешней flash памяти контроллера, а при необходимости декодировать их в RGB и выводить на экран?. Если не требуется частого обновления картинок, например их всего 10 потребуется. тогда как реализвать декодер такой? хватит ресурсов LPC2478?
|
|
|
|
|
Jan 4 2009, 14:24
|
Частый гость
 
Группа: Свой
Сообщений: 82
Регистрация: 9-06-06
Из: Украина
Пользователь №: 17 926

|
Цитата(Ghost_V @ Jan 4 2009, 17:22)  А можно реальзовать вариант хранения картинок в формате jpeg в внутренней или внешней flash памяти контроллера, а при необходимости декодировать их в RGB и выводить на экран?. Если не требуется частого обновления картинок, например их всего 10 потребуется. тогда как реализвать декодер такой? хватит ресурсов LPC2478? у меня получалось  но ОЧЕНЬ медленно! 640х480 из jpeg вылазило на LCD ~1...1.2 sec
|
|
|
|
|
Jan 5 2009, 08:46
|
Участник

Группа: Участник
Сообщений: 60
Регистрация: 16-11-07
Пользователь №: 32 388

|
Цитата(SergeyGSM @ Jan 4 2009, 17:24)  у меня получалось  но ОЧЕНЬ медленно! 640х480 из jpeg вылазило на LCD ~1...1.2 sec ну для меня это приемлемая скорость, тем более надо 320 на 240. а алгоритмом не поделетесь?(декодирования)
|
|
|
|
|
Jan 5 2009, 11:04
|
Частый гость
 
Группа: Свой
Сообщений: 82
Регистрация: 9-06-06
Из: Украина
Пользователь №: 17 926

|
Цитата(Ghost_V @ Jan 5 2009, 11:46)  ну для меня это приемлемая скорость, тем более надо 320 на 240. а алгоритмом не поделетесь?(декодирования) я бы с радостью.... да вот давно это было.. не помню где это у меня валяеться, тем более, что в нете полно примеров, сам из нета брал и переносил.... ссори, если сильно будет жать - посмотрю, но ничего не обещаю.....
|
|
|
|
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0
|
|
|