Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Media";
Текущий архив: 2003.03.27;
Скачать: [xml.tar.bz2];

Вниз

Bitmap 8,16(24) bit   Найти похожие ветки 

 
rubaxa   (2002-12-20 15:46) [0]

Привет МАСТЕРА! Как получить массив пикселов изображения 8b,24b)?
Если возможно маленькие Exaplы
И самое главное структура массива:
8 bit: R байт G байт B байт?
Сканирование- ПО ВЫСОТЕ после ПО ШИРИНЕ (array[H,W])?
И начальная точка отсчета =(левый верхний угол)?
16 bit: RR байты GG байты BB байты?
- тоже -
- тоже -
Есть пример:
CreateDIBSection(0,
bmInfo,
DIB_RGB_COLORS,
Bits, <- ?????????
hSection,
0);

И почему bmHeader.Height:=-Height; с минусом высота?

ВСЕМ СПАСИБО ЗА УЧАСТИЕ!!! :-)


 
MBo   (2002-12-20 17:02) [1]

>Как получить массив пикселов изображения 8b,24b)?
Я не понял - из bitmap получить массив данных или наоборот?


> bmHeader.Height:=-Height; с минусом высота?
Обычно строки хранятся в обратном порядке, но иногда и в прямом.
За это как раз отвечает знак bmHeader.Height


 
rubaxa   (2002-12-20 17:39) [2]

Если не сложно то массив в BITMAP и из него.
Зачем мне это нужно?
Есть специфический формат *.dic у него 16b изображение, хотелось
передать эти выборки в *.BMP, загрузить и изменить его в TImage (добавить яркость например) и сохранить в BMP (.FIleFormat=pf24bit). После достать из сохраненной BMP выборки и переправить их в свой формат...


 
MBo   (2002-12-20 17:41) [3]

заполняешь bitmapInfo и GetDiBits или SetDiBits


 
rubaxa   (2002-12-20 17:46) [4]

Не подскажете о структуре
Как заносить массив выборок: 8 bit
байт красного, байт синего,байт зеленого?
И начальная точка отсчета =(левый верхний угол)?
16 bit: RR байты GG байты BB байты?


 
MBo   (2002-12-20 17:49) [5]

8 бит - номер цвета в палитре
16 бит - rrrrrggggggbbbbb
24 бит - R G B (по байту)


 
rubaxa   (2002-12-20 17:54) [6]

Не могли поподробнее?
16 бит - rrrrrgggggbbbbb (по 5 bit)?
24 бит - R G B (по байту) (и как один пиксел по байтуRGB дает
24 бит)?



 
MBo   (2002-12-20 17:57) [7]

16 бит 5-6-5
15 бит (1 не используется) 5-5-5

>как один пиксел по байтуRGB дает 24 бит)?

3*8=24 ;)


 
rubaxa   (2002-12-20 18:08) [8]

Извините :-), я думал что, кол-во бит на пиксел, если это 16b,
то и R и G и B тоже по 2 байта градаций и в целом на пиксел приходилось 6 байт R G B...
:-)


 
rubaxa   (2002-12-20 18:42) [9]

Как представить 65535 градаций серого (R=G=B) в 16b формате!
как запихнуть в 5 bit R,G,B


 
A_n_t   (2002-12-21 12:18) [10]

Чето у тебя какие-то заморочки с битами.
Бит это либо 0 либо 1.
8 bit = 1 байт

В 16bit(2байта) ты берешь:
5bit на цвет R (всего 32 варианта цвета)
6bit на цвет G (всего 64 варианта цвета)
5bit на цвет R (всего 32 варианта цвета)
5bit+6bit+5bit=16bit - те самые биты
При этом ты получаешь 32x64x32=65536 возможных цветов.

Твой "65535 градаций серого" и есть 16b.

P.S. не бывает "65535 градаций серого" - при 24bit(максимум возможный) всего 256 градаций серого
P.S.2 разобрался бы сначала вообще в "компьютерных цветах"


 
rubaxa   (2002-12-21 15:52) [11]

Мужики сейчас разбираюсь...
Признаю свою ВИНУ,МЕРУ,СТЕПЕНЬ,ГЛУБИНУ...

Просто есть формат *.dic (в нем выборки с цифровой черно-белой камеры) у него 65535 уровней серого
и НЕМОГУ представить КАК ЭТО ПЕРЕДАТЬ на форму с 8bR-8bG-8bB
;-)



 
A_n_t   (2002-12-22 06:38) [12]

Дай параметры своей картинки (в *.dic): высота - ширина - размер файла (в битах).



Страницы: 1 вся ветка

Форум: "Media";
Текущий архив: 2003.03.27;
Скачать: [xml.tar.bz2];

Наверх





Память: 0.47 MB
Время: 0.008 c
3-87822
Злодей
2003-03-09 17:15
2003.03.27
Удаление записи


14-88138
Ru
2003-03-12 13:15
2003.03.27
Кучма :)


14-88188
X-DIVER
2003-03-09 20:24
2003.03.27
Актуальность изучения Delphi


14-88228
VID
2003-03-11 21:59
2003.03.27
EXCEL: создание особого файла...


6-88097
dkDimon
2002-11-04 14:48
2003.03.27
Sockets





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский