Comment Convertir GDI+'Image de marque* en Bitmap*

Je suis de l'écriture du code en c++, gdi+.

- Je faire usage de l'Image GetThumbnail() la méthode pour obtenir des vignettes.
Cependant, j'ai besoin de le convertir en HBITMAP.
Je sais que le code suivant peut obtenir GetHBITMAP:

Bitmap* img;
HBITMAP temp;
Color color;
img->GetHBITMAP(color, &temp); //if img is Bitmap*  this works well。

Mais comment puis-je convertir Image* en Bitmap* rapide?
Merci beaucoup!

En fait, maintenant, j'ai 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 d'Image* - > Bitmap* méthode. mais laissez-GetThumbnail() de l'API de renvoyer une Image de l'objet....

La façon dont vous faites c'est très bien. La raison pourquoi il ne peut pas être converti en "fast" est en général parce que Image n'est pas nécessairement une image bitmap à tous - il peut être un vecteur d'image (bien que le seul format vectoriel, je suis conscient de qui est pris en charge par GDI+ est WMF/EMF). J'imagine que dans ce cas, GetThumbnail serait de produire un vecteur d'image.

OriginalL'auteur user25749 | 2009-07-22