Ich schreibe Code in C++, Gdi +.Konvertieren von GDI + 's Bild * in Bitmap *
Ich verwende die Methode GetThumbnail() von Image, um ein Thumbnail zu erhalten. Allerdings muss ich es in HBITMAP konvertieren. Ich weiß, der folgende Code kann GetHBITMAP erhalten:
Bitmap* img;
HBITMAP temp;
Color color;
img->GetHBITMAP(color, &temp); // if img is Bitmap* this works well。
Aber wie kann ich Bild umwandeln * in Bitmap * schnell? Vielen Dank!
Eigentlich jetzt habe ich die folgende Methode verwenden:
int width = sourceImg->GetWidth(); // sourceImg is Image*
int height = sourceImg->GetHeight();
Bitmap* Result;
result = new Bitmap(width, height,PixelFormat32bppRGB);
Graphics gr(result);
//gr.SetInterpolationMode(InterpolationModeHighQuality);
gr.DrawImage(&sourceImg,0,0,width,height);
Ich weiß wirklich nicht, warum sie keine Bild * -> Bitmap * Methode. aber wir GetThumbnail() API ein Image-Objekt zurückgeben ....
Die Art und Weise Sie dies tun, ist in Ordnung. Der Grund, warum es im Allgemeinen nicht "schnell" konvertiert werden kann, ist, weil 'Image' nicht unbedingt eine Bitmap ist - es kann ein Vektorbild sein (obwohl das einzige Vektorformat, das mir bekannt ist, von GDI + unterstützt wird, ist WMF/EMF). Ich würde mir vorstellen, dass 'GetThumbnail' in diesem Fall auch ein Vektorbild erzeugen würde. –
Vielen Dank! Ihr Kommentar klingt vernünftig! – user25749