前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >GDI+拉伸或者缩放图片并另存为

GDI+拉伸或者缩放图片并另存为

作者头像
大菊观
发布2019-07-02 18:15:43
1.6K0
发布2019-07-02 18:15:43
举报

其实就绘制一个图片然后存为文件,同理也可以自己作画,然后保存为文件。

直接上代码,这里只是另存为了png格式,如需另存为其他格式,请自行查询。

代码语言:javascript
复制
void Saveimg(const wstring& strsrcImg,const wstring& strdstFile,const int& nDstX,const int& nDstY)
{
	Bitmap srcImg(strsrcImg.c_str());
	Bitmap dstImg(nDstX,nDstY);
	Graphics gdip(&dstImg);
	
	gdip.SetInterpolationMode(InterpolationModeHighQualityBicubic);
	gdip.DrawImage(&srcImg,0,0,nDstX,nDstY);

	// number of image encoders
	UINT  num = 0 ,size = 0;
	// size of the image encoder array in bytes
	ImageCodecInfo* pImageCodecInfo = NULL;
	if(GetImageEncodersSize(&num, &size)!= Ok || size == 0 )
		return;  // Failure
	pImageCodecInfo = (ImageCodecInfo*)(malloc(size));
	if(pImageCodecInfo == NULL)
		return ;  // Failure
	if(GetImageEncoders(num, size, pImageCodecInfo)!= Ok )
		return ;

	for(UINT j = 0; j < num; ++j)
	{
		if( wcsicmp(pImageCodecInfo[j].MimeType, L"image/png") == 0 ) //保存为png格式
		{
			dstImg.Save(strdstFile.c_str(),&(pImageCodecInfo[j].Clsid));
			break;
		}
	}
	free(pImageCodecInfo);
}
本文参与 腾讯云自媒体分享计划,分享自作者个人站点/博客。
原始发表:2019年06月25日,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档