Форум: "WinAPI";
Текущий архив: 2008.04.20;
Скачать: [xml.tar.bz2];
ВнизСтранное ограничение.... Найти похожие ветки
← →
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 вся ветка
Форум: "WinAPI";
Текущий архив: 2008.04.20;
Скачать: [xml.tar.bz2];
Память: 0.44 MB
Время: 0.039 c