Je suis en train d'écrire du code en C++, gdi +. J'utilise la méthode GetThumbnail() d'Image pour obtenir une vignette. Cependant, j'ai besoin de le convertir en HBITMAP. Je sais que le code suivant peut se GetHBITMAP:Comment faire pour convertir l'image de * GDI + en bitmap *
Bitmap* img;
HBITMAP temp;
Color color;
img->GetHBITMAP(color, &temp); // if img is Bitmap* this works well。
Mais comment puis-je convertir l'image * dans Bitmap * rapide? Merci beaucoup!
En fait, maintenant je dois utiliser la méthode suivante:
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);
Je ne sais vraiment pas pourquoi ils ne fournissent pas l'image * -> Méthode Bitmap *. mais laissez GetThumbnail() API retourne un objet image ....
La façon dont vous faites cela est très bien. La raison pour laquelle il ne peut pas être converti "fast" en général est parce que 'Image' n'est pas nécessairement une bitmap - il peut s'agir d'une image vectorielle (bien que le seul format vectoriel que GDI + supporte soit WMF/EMF). J'imagine que dans ce cas, 'GetThumbnail' produirait aussi une image vectorielle. –
Merci beaucoup! Votre commentaire semble raisonnable! – user25749