有时我们可能需要将一种类型的图片转换成另一种类型图片,比如将bmp图片转化成jpg或png图片,实现起来也很简单,我们直接使用GDI+中的Bitmap类就可以实现,相关步骤为:
1)通过传入的源图片路径,调用Bitmap::FromFile接口,将图片加载到Bitmap对象中;
2)根据传入的保存的文件完整路径中的图片文件后缀去判断要保存成哪种类型的图片;
3)调用Bitmap::Save接口即可保存成对应类型的图片。
实现代码如下:
// 获取jpeg等编码Clsid
BOOL GetEncoderClsid( const WCHAR* format, CLSID* pClsid )
{
UINT num = 0; // number of image encoders
UINT size = 0; // size of the image encoder array in bytes
ImageCodecInfo* pImageCodecInfo = NULL;
GetImageEncodersSize( &num, &size );
if( 0 == size