Форум: "Начинающим";
Текущий архив: 2006.04.16;
Скачать: [xml.tar.bz2];
ВнизКак определить, сколько байт/бит занимает один пиксел битмапа ? Найти похожие ветки
← →
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;
Скачать: [xml.tar.bz2];
Память: 0.45 MB
Время: 0.049 c