Как преобразовать Bitmap в Image?
Вот код:
VOID OnPaint(HDC hdc)
{
// for flicker-free
HDC memdc = CreateCompatibleDC(hdc);
HBITMAP membm = CreateCompatibleBitmap(hdc, w, h);
SelectObject(memdc, membm);
Graphics g(memdc);
g.SetSmoothingMode(SmoothingModeAntiAlias);
Bitmap b(L"file3.png");
b.SetPixel(10, 10, Color(255, 255, 0));
CachedBitmap cb(&b, &g);
g.DrawCachedBitmap(&cb, 0, 0);
// for flicker-free
BitBlt(hdc, 0, 0, w, h, memdc, 0, 0, SRCCOPY);
DeleteObject(membm);
DeleteDC(memdc);
}
Вот, что тут происходит:
Итак, тут создаётся Bitmap, загружаемый из файла:
Bitmap b(L"file3.png");
Тут я изменяю пиксель в координатах (10; 10)
b.SetPixel(10, 10, Color(255, 255, 0));
Тут я рисую Bitmap с помощью Graphics.
g.DrawCachedBitmap(&cb, 0, 0);
...но он умеет рисовать только CachedBitmap, а не обычный Bitmap, поэтому я создаю этот самый CachedBitmap до этого:
CachedBitmap cb(&b, &g); g.DrawCachedBitmap(&cb, 0, 0);
И вот в чём проблема: g.DrawCachedBitmap(&cb, 0, 0);
не может изменить размер изображения, а я хочу развернуть его на весь экран. Мне нужно преобразовать Bitmap в Image, но нигде я не могу найти способ для этого. Как это сделать?