Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2008.04.20;
Скачать: CL | DM;

Вниз

Странное ограничение....   Найти похожие ветки 

 
Ricks ©   (2007-08-17 15:03) [0]

Только что нашел.
Вот это не работает, если размер картинки (WxHx4) больше 1МБ


var under : PRGBAData;
   fDC   : HDC;
   uBM   : HBITMAP;
   oBM   : HBITMAP;
   w, h  : integer;
begin
w:=header.bmiHeader.biWidth;
h:=header.bmiHeader.biHeight;

fDC:=CreateCompatibleDC(aDC);
uBM:=CreateBitmap( w, h, 1, 32, nil );
oBM:=SelectObject(fDC, uBM);
BitBlt( fDC, 0, 0, w, h, aDC, x0, y0, SRCCOPY );
*******************************************
under:=SysGetMem(w * h * sizeof(RGBA));
GetDIBits( fDC, uBM, 0, h, under, header, DIB_RGB_COLORS );

imBlendData( under, bits, w * h );

SetDIBitsToDevice(aDC, x0, y0, w, h, 0, 0, 0, h, bits, header, DIB_RGB_COLORS);
**********************************************
SysFreeMem(under);
SelectObject(fDC, oBM);
DeleteObject(uBM);
DeleteDC(fDC);


Память вроде бы выделяет, imBlendData выполняется нормально, а вот SetDIBitsToDevice не работает


 
Ricks ©   (2007-08-17 15:04) [1]

Вернее так работает, а вот
SetDIBitsToDevice(aDC, x0, y0, w, h, 0, 0, 0, h, under, header, DIB_RGB_COLORS);

Нет!



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

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

Наверх




Память: 0.46 MB
Время: 0.018 c
15-1204819301
Пробегал...
2008-03-06 19:01
2008.04.20
Переход по CTRL + клик глючит


2-1204039868
nusik1990
2008-02-26 18:31
2008.04.20
ввод в TEdit


2-1206397813
hahol_64_rus
2008-03-25 01:30
2008.04.20
массив и индесы


2-1206706569
oleg_teacher
2008-03-28 15:16
2008.04.20
помогите с кодировкой


2-1206546070
kernel
2008-03-26 18:41
2008.04.20
WM_PAINT чужого приложения