При помощи класса Image загружаю gif-файл. А дальше что? В классе Bitmap есть член GetPixel, но он не умеет загружать gif-файлы. Как сделать GetPixel, но для Image?
В MSDN решения проблемы найти не удалось. Перековырял все свойства Image, но нужного так и не нашёл. Попробовал нарисовать объект через класс Graphics, чтобы потом обычным GDI'шным GetPixel'ом считать информацию, но Graphics почему-то жалуется, что ему не хватает памяти на загрузку картинки (а именно функция DrawImage на это жалуется). Вот мой код:
BOOL LoadGif(WCHAR *lpwszImage, LPBYTE lpbyImage)
{
HDC hdcImage;
UINT uWidth, uHeight;
Image *capcha = new Image(lpwszImage);
uWidth = capcha->GetWidth();
uHeight = capcha->GetHeight();
hdcImage = CreateCompatibleDC(GetDC(NULL));
HBITMAP hBitmap = CreateCompatibleBitmap(hdcImage, uWidth, uHeight);
SelectObject(hdcImage, hBitmap);
Graphics *g = new Graphics(hdcImage);
g->SetPageUnit(UnitPixel);
RectF bounds(0, 0, (REAL) uWidth, (REAL) uHeight);
g->DrawImage(capcha, bounds);
COLORREF cl = GetPixel(g->GetHDC(), 169, 1);
DeleteObject(hBitmap);
DeleteDC(hdcImage);
delete g;
delete capcha;
return TRUE;
}
---
|