GDI+图像格式转换功能
2008-11-08 13:34
381 查看
GDI+支持各种常见的图像格式之间进行转换,支持的格式有BMP、JPEG、GIF、TIFF和PNR。
方法:
使用GDI+的Image类,有Save方法,可以进行转换操作。Save方法需要一个CLSID来表示转换目标格式,可以使用GetImageEncoders方法来获取所有支持的格式。
以下代码示例可以从string指定的格式来获取对应的CLSID(从MSDN里面摘录):
int 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(size == 0)
return -1; // Failure
pImageCodecInfo = (ImageCodecInfo*)(malloc(size));
if(pImageCodecInfo == NULL)
return -1; // Failure
GetImageEncoders(num, size, pImageCodecInfo);
for(UINT j = 0; j < num; ++j)
{
if( wcscmp(pImageCodecInfo[j].MimeType, format) == 0 )
{
*pClsid = pImageCodecInfo[j].Clsid;
free(pImageCodecInfo);
return j; // Success
}
}
free(pImageCodecInfo);
return -1; // Failure
}
支持的格式字符串有:
image/bmp
image/jpeg
image/gif
image/tiff
image/png
方法:
使用GDI+的Image类,有Save方法,可以进行转换操作。Save方法需要一个CLSID来表示转换目标格式,可以使用GetImageEncoders方法来获取所有支持的格式。
以下代码示例可以从string指定的格式来获取对应的CLSID(从MSDN里面摘录):
int 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(size == 0)
return -1; // Failure
pImageCodecInfo = (ImageCodecInfo*)(malloc(size));
if(pImageCodecInfo == NULL)
return -1; // Failure
GetImageEncoders(num, size, pImageCodecInfo);
for(UINT j = 0; j < num; ++j)
{
if( wcscmp(pImageCodecInfo[j].MimeType, format) == 0 )
{
*pClsid = pImageCodecInfo[j].Clsid;
free(pImageCodecInfo);
return j; // Success
}
}
free(pImageCodecInfo);
return -1; // Failure
}
支持的格式字符串有:
image/bmp
image/jpeg
image/gif
image/tiff
image/png
相关文章推荐
- 使用IStream和GDI+在内存中实现图像格式转换
- Delphi 2010 新增功能之: TWICImage 类[1] - 方便的图像格式转换
- GDI+ 将BMP 32图像转换为JPG文件格式保存
- 使用IStream和GDI+在内存中实现图像格式转换
- VB无所不能之二:利用GDI+处理图像格式转换 推荐
- Delphi 2010 新增功能之: TWICImage 类[1] - 方便的图像格式转换
- Delphi 2010 新增功能之: TWICImage 类[1] - 方便的图像格式转换
- [转]caffe下为图像加标签,转换为可执行文件.lmdb格式
- 用Ghostscript API将PDF格式转换为图像格式(C#)
- VC完成多格式图像地转换
- 再学 GDI+[99]: TGPImage(19) - 把图像转存为其他格式
- Python图像处理库PIL中图像格式转换(一)
- 将mnist原始图像转换为tfrecords格式
- Graphics->BitmapDecode 介绍Android 平台对图像的解码功能,Android平台支持PNG, JPEG图像格式,并可以支持 gif动画。
- RGB与YUV图像视频格式的相互转换(转)
- 学习opencv之(四)- 图像格式之间的转换
- FFMPEG裁剪视频、提取某帧图像、合并视频和转换视频格式命令的基本用法
- VB6.0用GDI+保存图像为BMP\JPG\PNG\GIF格式终结版。
- 标注文件格式转换功能的简单实现
- windows 使用GDI+来转换图片格式