Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

Как определить, сколько байт/бит занимает один пиксел битмапа ?


ANB ©   (2006-03-31 14:57:00) 

Как вариант - определить размер строки, возвращаемый
 Line := BitMap.ScanLine[Line_No];
?


MBo   (2006-03-31 16:48:00) [1]

>А вот Scanline даже при неприсвоенном работал
GetScanLine вызывает при необходимости DibNeeded, только лучше  контролировать всё самому

>насильно присвоил PixelFormat 32 бита
в общем случае - нужно узнавать глубину цвета устройства, с которого снимается скрин - GetDeviceCaps


ANB   (2006-03-31 16:35:00) [2]


> MBo ©   (31.03.06 15:21) [3]

Короче, я насильно присвоил PixelFormat 32 бита и все работает.

А вот Scanline даже при неприсвоенном работал. Только что потом с это строкой делать - было непонятно.


MBo   (2006-03-31 15:21:00) [3]

Что значит свежескопированный?
Видимо, это не DIB, а DDB - тогда к нему и Scanline неприменимо, нужно сначала перевести в DIB (назначением HandleType или PixelFormat)


ANB   (2006-03-31 15:19:00) [4]


> MBo ©   (31.03.06 15:12) [1]
> >сколько байт/бит занимает один пиксел битмапа ?
> см. Pixelformat

Смотрел. Если достаю битмап из блобика - там все по честному. А если он свежескопированный - то там нолик. А мне надо сравнить кусок скриншота с куском из блоба.


MBo   (2006-03-31 15:12:00) [5]

>сколько байт/бит занимает один пиксел битмапа ?
см. Pixelformat

>определить размер строки
размер строки округляется вверх на границу в 4 байта


Наверх

Титульная страница Поиск, карта сайта Написать письмо