Для вывода картинки на монохромный LCD нужен бинарный файл (пиксель=бит).
Такое битовое поле есть в BMP файле.
Нужно из монохромного BMP-файла вытянуть только битовое поле и сохранить в другой файл.
Я так понимаю нужно открыть БМП, преобразовать картинку в данные, и сохранить данные в другой файл.
Сколько я ни бился не получается у меня такое зделать. Может это в принципе не возможно?
Как вариант можно открывать файл и по известному смещению считывать в другой файл известное количество байт.
Правда я тоже не знаю как это сделать.
Помогите пожалуйста, а то застрял мой проект работы с LCD.
Этот топик читают: Гость
Ответов: 5
Рейтинг: 1
|
|||
карма: 0 |
|
Ответов: 3514
Рейтинг: 184
|
|||
Код поправьте
|
|||
карма: 0 |
|
Гость
Ответов: 17029
Рейтинг: 0
|
|||
Редактировалось 1 раз(а), последний 2017-03-02 09:08:32 |
|||
карма: 0 |
|
Ответов: 1088
Рейтинг: 112
|
|||
При копировании схем с русскими символами необходимо переключаться на русскую раскладку.
|
|||
карма: 0 |
|
Ответов: 5
Рейтинг: 1
|
|||
Извините - разобрался
|
|||
карма: 0 |
|
Администрация
Ответов: 15295
Рейтинг: 1519
|
|||
карма: 27 |
| ||
файлы: 1 | code_12833.txt [883B] [203] |
Ответов: 5446
Рейтинг: 323
|
|||
Dilma, этого мало - в BMP применяется "Padding"...
|
|||
карма: 1 |
|
Ответов: 5
Рейтинг: 1
|
|||
Dilma писал(а): 62 байта это размер заголовка BMP файла взятый по памяти. Могу и ошибатьсяПравильно! Но все немного сложней Размер картинки 48х84. Так как в БМП формате строчки дополняются до 4 то строка состоитит из 6байт(48/8) + 2 пустых байта. Значит нада начать читать файл с 62 байта, через каждых 6 байт выкидывать по 2 байта (84 строки) так чтоб получилось 6х84=504 байта. Ну и чтоб добить до размера сектора на диске (для оптимизации чтения) надо к 504 байтам добавить 8 пустых байт (получим 512 байт - размер сектора). Это очень сложно? ------------ Дoбавленo в 22.59: При преобразовании картинки в данные (элементом BitmapStream) разве в поток не выдается последовательность байт битового поля? Или заголовок и дополняющие байты в поток тоже передаются? |
|||
карма: 0 |
|
Ответов: 5446
Рейтинг: 323
|
|||
Evgen88, передаётся всё.
|
|||
карма: 1 |
|
Ответов: 1304
Рейтинг: 405
|
|||
Evgen88, нашёл старую схему редактора BMP, может поможет. Картинка перегоняется в целые числа, далее редактируется.
code_12837.txt Ещё где-то была схема "просмотра кода", позволяющая просмотреть любой файл, в виде Hex,Int,Str, но увы пока ненашёл. |
|||
карма: 3 |
| ||
файлы: 1 | code_12837.txt [6.5KB] [179] |
Администрация
Ответов: 15295
Рейтинг: 1519
|
|||
Evgen88, ну уж по рабочей-то схеме можно бы было сообразить, как реализовать это
Evgen88 писал(а): Значит нада начать читать файл с 62 байта, через каждых 6 байт выкидывать по 2 байта ставим цикл с шагом 8, после каждой итерации делаем doCopy на 6 байт, а не на всю длинну как стоит сейчас. Вроде элементарная задача... Зачем тут мутить чего-то с загрузкой изображения я не очень понимаю. |
|||
карма: 27 |
|
Гость
Ответов: 17029
Рейтинг: 0
|
|||
Редактировалось 1 раз(а), последний 2017-03-02 09:08:33 |
|||
карма: 0 |
|
Ответов: 199
Рейтинг: 44
|
|||
193.34.20.254 писал(а): И вообще как работает ХайАсм? Например если первый цикл "For" своим "onEvent" запускает другой цикл "For" они будут работать паралельно или второй цикл закончит свои итерации перед следующим пуском от первого цикла "For"?А самому проверить не судьба? code_12859.txt |
|||
карма: 0 |
| ||
файлы: 1 | code_12859.txt [701B] [161] |
Гость
Ответов: 17029
Рейтинг: 0
|
|||
Редактировалось 1 раз(а), последний 2017-03-02 09:08:33 |
|||
карма: 0 |
|
Ответов: 5
Рейтинг: 1
|
|||
Еще вопрос. Гдето видел как делается пиктограммка ЕХЕ файла проекта. Хоть убей не могу вспомнить где.
Как назначить свою пиктограммку на ЕХЕ файл проекта? |
|||
карма: 0 |
|