Вниз
Скачать: CL | DM;

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

 
ANB ©   (2006-03-31 14:57) [0]

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


 
MBo ©   (2006-03-31 15:12) [1]

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

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


 
ANB ©   (2006-03-31 15:19) [2]


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

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


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

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


 
ANB ©   (2006-03-31 16:35) [4]


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

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

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


 
MBo ©   (2006-03-31 16:48) [5]

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

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



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

Скачать: CL | DM;



Память: 0.46 MB
Время: 0.027 c
2-1144076653
User_OKA
2006-04-03 19:04
2006.04.16
Последовательность чисел


2-1143702143
oleon
2006-03-30 11:02
2006.04.16
Не ловится WM_SYSCOMMAND. Помогите.


4-1138288327
Vlad2
2006-01-26 18:12
2006.04.16
Как получить Handle статически (LIB) загружаемой DLL?


4-1138786134
Cashmare
2006-02-01 12:28
2006.04.16
WaitForSingleObject & Synchronize


15-1143558642
oldman
2006-03-28 19:10
2006.04.16
Gluteus maximus...




   Наверх