设为首页 加入收藏

TOP

vc6下的图片格式转换
2014-11-23 21:30:29 】 浏览:538
Tags:vc6 图片 格式 转换

听说下面这个函数MSDN有,但我一直都没找到。既然是MSDN有的,代码就已经固定了,此函数照抄即可

int GetEncoderClsid(const WCHAR* format, CLSID* pClsid)

{

UINT num= 0;

UINT size= 0;

ImageCodecInfo* pImageCodecInfo= NULL;

GetImageEncodersSize(&num, &size);

if(size== 0)

{

return -1;

}

pImageCodecInfo= (ImageCodecInfo*)(malloc(size));

if(pImageCodecInfo== NULL)

{

return -1;

}

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;

}

}

free(pImageCodecInfo);

return -1;

}

下面是调用此函数的代码

Image img(L"d:\\12.jpg");//这里的图片可以是其它格式

CLSID pngClsid;

GetEncoderClsid(L"image/jpeg", &pngClsid);

img.Save(L"d:\\12_0.bmp", &pngClsid, NULL);//这里的图片可以是其它格式,此处转化为BMP格式

下面的代码是分别获得5中图像编码器的CLSID

CLSID encoderClsid

GetEncoderClsid(L"image/png", &encoderClsid); //png

GetEncoderClsid(L"image/bmp", &encoderClsid);

GetEncoderClsid(L"image/gif", &encoderClsid);

GetEncoderClsid(L"image/jpeg", &encoderClsid);

GetEncoderClsid(L"image/tiff", &encoderClsid);

摘自:srxumin的专栏

】【打印繁体】【投稿】【收藏】 【推荐】【举报】【评论】 【关闭】 【返回顶部
上一篇C/C++中几种经典的垃圾回收算法 下一篇VC中使用SetThreadName引起的线程..

最新文章

热门文章

Hot 文章

Python

C 语言

C++基础

大数据基础

linux编程基础

C/C++面试题目