Без описания |
Поиск в теме | Версия для печати |
Guyver |
Отправлено: 14 Марта, 2023 - 03:16:42
|
Chief-Net
Покинул форум
Сообщений всего: 10109
Дата рег-ции: Окт. 2014
Откуда: Магадан
|
Для 16-цветного bmp (буду работать с ним, конвертируя в него другие форматы при необходимости) формат такой:
biBitCount 4
Максимально возможное количество цветов 16
Палитровый формат
Каждый байт описывает 2 пикселя. В байте младшая часть - цвет первого пикселя, старшая - второго. Цвет из палитры по номеру от 0 до F.
палитра:
0 чёрный
1 тёмно-красный
2 тёмно-зелёный
3 коричневый
4 тёмно-синий
5 тёмно-фиолетовый
6 бирюзовый
7 тёмно-серый
8 серый
9 красный
A зелёный
B желтый
C синий
D фиолетовый
E голубой
F белый
16-цветная картинка 32х1 пиксель весом 134 байта.
адрес 00: первые 2 байта от слова BitMap (BM) 424D
адрес 02: Потом размер файла в байтах - 86 (134 байта)
адрес 0A: Адрес начала карты пикселей (h76)
адрес 0E: размер заголовка картинки (28) 40 байт
адрес 12: ширина изображения (20) 32 пискеля
адрес 16: высота изображения (01) 1 пиксель
адрес 1A: количество плоскостей (01)
адрес 1С: (04) бит на пиксель
Карта пикселей - находится в конце файла, выделена голубым цветом. В теории палитра из файла не нужна, она всегда одинаковая, нужна только карта пикселей... Размер картинки у меня будет всегда одинаковый.
Вот теперь такое же описание бы для формата 4BPP MSX (Genesis), чтобы написать функцию для переконвертирования карты пикселей 4-битного bmp в этот формат...
Как я понимаю, там изображение составляется не слева-направо, а тайлами? По 64 бита в каждом... Какой план действий? Прочитать карту пикселей в массив и по формуле переформатировать массив, а потом сохранить его?
----- Я не волшебник - я только учусь... |
|
|
|
Поиск в теме | Версия для печати |
Страниц (1): [1] |
Сейчас эту тему просматривают: 1 (гостей: 1, зарегистрированных: 0) |
« Программирование » |
Все гости форума могут просматривать этот раздел. Только зарегистрированные пользователи могут создавать новые темы в этом разделе. Только зарегистрированные пользователи могут отвечать на сообщения в этом разделе.
|
|
|