How to Convert GDI+'s Image* into Bitmap*
bitmap, c++, gdi+, image
Solution
Image* img = ???;
Bitmap* bitmap = new Bitmap(img);
Edit: I was looking at the.NET reference of GDI+, but here is how .NET implements that constructor.
using (Graphics graphics = null)
{
graphics = Graphics.FromImage(bitmap);
graphics.Clear(Color.Transparent);
graphics.DrawImage(img, 0, 0, width, height);
}
All those function are avaliable in the C++ version of GDI+
Problem
I am writting code in c++, gdi+. I make use of Image's GetThumbnail() method to get thumbnail. However, I need to convert it into HBITMAP. I know the following code can get GetHBITMAP: ``` Bitmap* img; HBITMAP temp; Color color; img->GetHBITMAP(color, &temp); // if img is Bitmap* this works well。 ``` But how can I convert Image* into Bitmap* fast? Many thanks! Actually, now I have to use the following method: ``` int width = sourceImg->GetWidth(); // sourceImg is Image* int height = sourceImg->GetHeight(); Bitmap* result = new Bitmap(width, height,PixelFormat32bppRGB); Graphics gr(result); //gr.SetInterpolationMode(InterpolationModeHighQuality); gr.DrawImage(sourceImg, 0, 0, width, height); ``` I really don't know why they do not provide Image* - > Bitmap* method. but let GetThumbnail() API return a Image object....