Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2006.04.16;
Скачать: 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 вся ветка

Текущий архив: 2006.04.16;
Скачать: CL | DM;

Наверх




Память: 0.47 MB
Время: 0.045 c
1-1142160450
Кашперук Иван
2006-03-12 13:47
2006.04.16
Как очистить рабочий стол


4-1138113016
Ландграф Павел
2006-01-24 17:30
2006.04.16
Координаты компонента относительно экрана


4-1138498463
einstein
2006-01-29 04:34
2006.04.16
Функция shellexecute()


15-1143477953
DillerXX
2006-03-27 20:45
2006.04.16
Проиграть файл в микрофон :)


15-1142347995
Ученик чародея
2006-03-14 17:53
2006.04.16
MS создала новый вирус... называется SubVirt