| Микроконтроллеры, АЦП, память и т.д Темы касающиеся микроконтроллеров разных производителей, памяти, АЦП/ЦАП, периферийных модулей... |
Конвертирование из BMP в DATA
29.10.2008, 22:02
|
#1
|
|
Почётный гражданин KAZUS.RUN
Регистрация: 05.08.2007
Адрес: Болгария Перник
Сообщений: 1,771
Сказал спасибо: 74
Сказали Спасибо 357 раз(а) в 245 сообщении(ях)
|
Конвертирование из BMP в DATA
Добрый вечер уважаемые,
появилось надобность в преобразовании картинки в текстовой формат, чтоб можно было включить в текст исходника. Например из BMP сделать следующее
'------------------------------------------------------
' Picture name: mikro_bmp
' GLCD Model: Nokia3310 Like
------------------------------------------------------
const mikro_bmp as byte[350] = (0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 0, 0, 0, 0, 0, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 7, 14, 34, 196, 16, 71, 12, 102, 254, 24, 99, 12, 6, 222, 24, 99, 28, 6, 198, 24, 99, 60, 30, 198, 24, 99, 60, 14, 198, 24, 99, 60, 6, 198, 24, 99, 60, 6, 198, 24, 99, 60, 34, 198, 24, 103, 252, 255, 255, 27, 7, 254, 255, 255, 63, 143, 255, 255, 255, 255, 255, 3, 0, 0, 224, 255, 0, 0, 0, 128, 63, 0, 0, 0, 0, 63, 0, 0, 0, 0, 31, 0, 0, 0, 0, 15, 0, 0, 0, 0, 15, 0, 0, 0, 0, 7, 0, 0, 0, 0, 7, 0, 0, 0, 0, 7, 0, 0, 0, 0, 3, 0, 0, 0, 0, 3, 0, 0, 0, 0, 3, 248, 1, 254, 15, 3, 254, 3, 255, 63, 3, 254, 3, 255, 127, 3, 254, 3, 255, 63, 3, 252, 3, 255, 63, 3, 0, 0, 255, 15, 3, 0, 0, 7, 0, 7, 0, 0, 7, 0, 7, 0, 0, 7, 0, 7, 0, 0, 7, 0, 15, 0, 0, 7, 0, 15, 0, 0, 7, 0, 31, 0, 0, 7, 0, 31, 0, 0, 7, 0, 63, 0, 0, 7, 0, 255, 0, 0, 7, 0, 255, 1, 0, 7, 12 
Списал из редактора МикроЕ, да там монохром, надо цветное 8бит. И произвольного размера.
На худой конец сойдет и нечто, преобразующее файл из бинарного в текстовой цифровой формат. BIN2HEX имеется, да под DOS работает  Я там почти все подчистую запамятовал.
Спасибо заранее !
|
|
|
|
30.10.2008, 12:40
|
#2
|
|
Прописка
Регистрация: 23.01.2008
Сообщений: 102
Сказал спасибо: 0
Сказали Спасибо 21 раз(а) в 19 сообщении(ях)
|
|
Цитата:
|
|
На худой конец сойдет и нечто, преобразующее файл из бинарного в текстовой цифровой формат
|
Ну это и самому да 10 минут сделать можно.
Вот сваял на PureBasic.
Программа в месте с исходником в архиве.
Прикрепленный файл: 9089942.rar
|
|
|
|
30.10.2008, 13:42
|
#3
|
|
Почётный гражданин KAZUS.RUN
Регистрация: 05.08.2007
Адрес: Болгария Перник
Сообщений: 1,771
Сказал спасибо: 74
Сказали Спасибо 357 раз(а) в 245 сообщении(ях)
|
|
Сообщение от Pit_PB
|
|
Ну это и самому да 10 минут сделать можно.
|
Можно, если можеш. Я то не умею
Спасибо, если не сегодня завтра попробую.
Удачи!
зы. А надо опять засесть за учебники... Надоело, да никуда не денусь. Может кому надо интерактивное руководство по VB6, на русском. Старое, 2000 год  Вышлю, если есть интерес. Большое, что то около 600 мб.
Прикрепленный файл: 9089942.rar
|
|
|
|
30.10.2008, 15:01
|
#4
|
|
Прописка
Регистрация: 23.01.2008
Сообщений: 102
Сказал спасибо: 0
Сказали Спасибо 21 раз(а) в 19 сообщении(ях)
|
Если я ничего не путаю, Вы как-то начинали изучать PureBasic, но потом забросили...
Кстати, он немного на MicroBasic похож, но имеет намного больше функций.
Кроме того можно изготавливать свои библиотеки функций.
Если задача не сложная, то и API знать не обязательно.
|
|
|
|
30.10.2008, 15:09
|
#5
|
|
Почётный гражданин KAZUS.RUN
Регистрация: 05.08.2007
Адрес: Болгария Перник
Сообщений: 1,771
Сказал спасибо: 74
Сказали Спасибо 357 раз(а) в 245 сообщении(ях)
|
|
Сообщение от Pit_PB
|
но потом забросили...
|
Забросил, думал VB6 осваивать, там окно можно редактировать в процессе отладки, а у PB один Вижуал дизайнер, если напутаеш снова сначала. Да и то забросил....
Может надо и замолчать, да Ваша программа выдает только одну длинющую строку. Текстовые редакторы плохо переваривают.
Удачи!
|
|
|
|
30.10.2008, 15:51
|
#6
|
|
Прописка
Регистрация: 23.01.2008
Сообщений: 102
Сказал спасибо: 0
Сказали Спасибо 21 раз(а) в 19 сообщении(ях)
|
|
Цитата:
|
|
PB один Вижуал дизайнер, если напутаеш снова сначала. Да и то забросил....
|
Можно редактировать в процессе отладки. Есть способы.
Да и вообще можно создавать окна вручную, например, та программа что ранее выложил, сделана без использования визуального редактора.
|
Цитата:
|
|
Может надо и замолчать, да Ваша программа выдает только одну длинющую строку
|
Нет, почему-же, молчать не нужно.
Ведь прогой должно быть удобно пользоватся.
Немого переделал её.
Теперь формируются строки по 16 символов в формате $xx
Где xx - байт в шестнадцатеричной форме. Так наглядность больше.
PS
Программа только переводит числа из двоичной системы исчисления в шестнадцатеричную, т. е. она не работает непосредственно с рисунком.
Хотя если захотеть, то можно сделать и работу с рисунком, получится что-то типа этого http://www.ikarab.narod.ru/KS0108.html
Прикрепленный файл: 7268235.rar
|
|
|
|
30.10.2008, 17:32
|
#7
|
|
Почётный гражданин KAZUS.RUN
Регистрация: 05.08.2007
Адрес: Болгария Перник
Сообщений: 1,771
Сказал спасибо: 74
Сказали Спасибо 357 раз(а) в 245 сообщении(ях)
|
Спасибо, ну а если в конце строки поставить запятую будет просто прекрасно ! Хотя я явно что то не учитваю, запихиваю рисунок в ПИК, выводится, да как то странновато, имеет схожесть с оригиналом, да оригинал синий а здесь желто-красная размазня  Вероятно назначение битов по цветам не совпадает. У меня BBGGGRRR, что выдает BMP не очень понятно, там палитры, некий куб, вобщем будем обучатся дальше...
Удачи!
|
|
|
|
30.10.2008, 19:02
|
#8
|
|
Прописка
Регистрация: 23.01.2008
Сообщений: 102
Сказал спасибо: 0
Сказали Спасибо 21 раз(а) в 19 сообщении(ях)
|
|
Цитата:
|
|
если в конце строки поставить запятую будет просто прекрасно
|
Добавил.
|
Цитата:
|
|
что выдает BMP не очень понятно, там палитры, некий куб, вобщем будем обучатся дальше...
|
Я как-то тоже с такой проблемой сталкивался.
Сначала хотел разбиратся с самим рисунком, но потом нашёл более простой вариант.
Сделал так.
Загружал рисунок с помощью LoadImage((#Image, FileName$ [, Flags]) (поддерживаются форматы BMP, PNG, TIFF, JPEG).
Затем узнавал его размеры с помощью функций ImageHeight(#Image) (высота) и ImageWidth(#Image) (ширина).
Затем с помощью циклов сканировал по писксельно весь рисунок для того чтобы узнать цвет всех точек рисунка.
Комплексный цвет RGB получал с помощью функции Point(x, y) результат работы которой разбивал на отдельные цвета с помощью Red(Color), Green(Color), Blue(Color) и уже оринтрируясь на эти данные строил таблицу
Такой приём однозначно проще, надёжнее и универсальнее чем изучать способ кодирования рисунка и преобразовывать его.
Прикрепленный файл: 8941195.rar
|
|
|
|
30.10.2008, 19:04
|
#9
|
|
Вид на жительство
Регистрация: 15.03.2005
Сообщений: 348
Сказал спасибо: 17
Сказали Спасибо 8 раз(а) в 8 сообщении(ях)
|
прога HEX2BIN рулит
|
|
|
|
30.10.2008, 21:46
|
#10
|
|
Почётный гражданин KAZUS.RUN
Регистрация: 05.08.2007
Адрес: Болгария Перник
Сообщений: 1,771
Сказал спасибо: 74
Сказали Спасибо 357 раз(а) в 245 сообщении(ях)
|
Спасибо Pit_PB
Здесь имеется приятная и понятная статья про BMP http://jenyay.net/index.php?id=bmp Как понимаю, не стоит цацкатся с 8 битным форматом, надо взять 24 битный, проще. Берем байт красного, переводим в 3 бита, зеленый в 3, синий в 2. Все это засовываем в один байт, добавляем запяыте и дело в шляпе  Уже засел за VB6. Давно надо было сделать, да когда под задницей жжет как то шустрее работаю
Хотя можно и взять весь 8 битный BMP файл без изменений, засунуть в ПИК и там обрабатвать. 1К больше, переживу.
Посмотрим......
И все это надо чтоб управлять этим животным http://www.4dsystems.com.au/prod.php?id=15 Интересная штука однако, даже работает почти как написано, за исключением вывода RESET.
А HEX2BIN оказвается имеет варианты. Один выдает текст, другой тоже, да в формате для программаторов.
Такие дела,
Удачи !
зы Или я пробовал BIN2HEX  Запутался однако
|
|
|
|
Ваши права в разделе
|
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения
HTML код Выкл.
|
|
|
| Тема |
Автор |
Раздел |
Ответов |
Последнее сообщение |
|
data memoty
|
Boris_Britva |
Микроконтроллеры, АЦП, память и т.д |
10 |
26.08.2008 09:35 |
|
wav, bmp -> hex
|
dosikus |
Микроконтроллеры, АЦП, память и т.д |
4 |
23.09.2007 21:35 |
|
DATA, DB, DE… как читать?
|
maxNTF |
Микроконтроллеры, АЦП, память и т.д |
0 |
13.02.2006 17:10 |
|
Multisensor Data Fusion - Помогите
|
niklaus |
Микроконтроллеры, АЦП, память и т.д |
0 |
24.07.2005 01:14 |
Часовой пояс GMT +4, время: 19:06.
|
|