RGB-массив ---> TImage->Picture
От: zmd  
Дата: 04.09.02 04:41
Оценка:
В наличии имеется массив (r, g, b), который надо вывести в Image. Использование Pixels[][], а также ScanLine неприемлимо, т.к. неудовлетворяет скорость работы. Думаю, надо использовать BitBlt, но как это сделать?

в цикле заполняется DWORD ResCl
ResCl[x + y*144] = 0 + ((r << 16) | (g << 8) | (b));BITMAPINFO* bmpInfo;

затем
BITMAPINFO* bmpInfo;
HDC cdc = CreateCompatibleDC(NULL);
ResBitmap = CreateCompatibleBitmap(cdc, 176, 144);
SetDIBits(cdc, ResBitmap, 0, 144, ResCl, bmpInfo, DIB_RGB_COLORS);
imExample->Picture->Bitmap->Handle = ResBitmap;

чего-то не так — ошибку выдает Access violation ... in module gdi32.dll
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.