使用GDI+缩放图片文件[1]

[入库:2006年2月23日] [更新:2007年3月24日]

本文简介:

 

总结一下个人所知道的使用GDI+缩放图片的方法.

 

方法一:最简单的,使用GetThumbnailImage,这个方法的局限性对支持内嵌缩略图的图片文件无效. 因为MSDN中提到:如果图片文件有内嵌的缩略图,那么就提取这个缩略图返回,否则就缩放原图片,不过我想对位图还是安全的:

Bitmap  * image = new Bitmap(L"MagicLinux.bmp");

Image* pScaledImage = NULL;

UINT nWidth = image->GetWidth()/2;

UINT nHeight= image->GetHeight()/2;

pScaledImage = image->GetThumbnailImage(nWidth, nHeight, NULL, NULL);

delete pScaledImage;

delete image;

 

方法二,使用Graphics::DrawImage,这样还可以控制InterpolationMode(插值模式,在缩放和旋转时候使用),即可以控制缩放质量高低.也可以通过Graphics对象做其他的控制.

方法也比较简单,但是却费了我好久时间才研究出来,没办法,不熟悉GDI+,MSDN中翻来翻去,:)

Bitmap * ScaleBitmap(Bitmap * pBitmap,UINT nWidth,UINT nHeight)

{

Bitmap * pTemp = new Bitmap(nWidth,nHeight,pBitmap->GetPixelFormat());

本文关键:使用GDI+缩放图片文件
 

本站最佳浏览方式为 分辨率 1024x768 IE 6.0(或更高版本的 IE浏览器)

go top