头文件:
代码如下 | 复制代码 |
#include |
CPP:
代码如下 | 复制代码 |
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 www.111com.net 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 } void DrawMainWindow(Image* img,int w,int h) { HDC hDC = GetDC(AfxGetMainWnd()->m_hWnd); if (hDC) { Graphics graphics(hDC); graphics.DrawImage(img,w,h,img->GetWidth(),img->GetHeight()); ReleaseDC(AfxGetMainWnd()->m_hWnd,hDC); } } void GetThumbnail(LPCSTR srcFile,LPCSTR dstFile,int width,int height,bool constRatio) { GdiplusStartupInput gdiplusStartupInput; ULONG_PTR gdiplusToken; GdiplusStartup(&gdiplusToken,&gdiplusStartupInput,NULL); USES_CONVERSION; Image srcImage(A2W(srcFile)); Image *dstImage; int srcWidth = srcImage.GetWidth(); int srcHeight = srcImage.GetHeight(); if( constRatio ){ if ( width / srcWidth < height / srcHeight ) { height = width * srcHeight / srcWidth; } else { width = height * srcWidth / srcHeight; } } dstImage = srcImage.GetThumbnailImage(width,height); CLSID imgClsid; GetEncoderClsid(L"image/jpeg",&imgClsid); dstImage->Save(A2W(dstFile),&imgClsid,NULL); DrawMainWindow(&srcImage,0,0); DrawMainWindow(dstImage,0,srcImage.GetHeight()+10); delete dstImage; dstImage = NULL; //GdiplusShutdown(gdiplusToken); } |
使用方法:
代码如下 | 复制代码 |
GetThumbnail("image.jpg","cc.jpg",200,80,TRUE); |
暗影猎手失落的世界 最新版本v30.118.6.0
下载格里姆瓦勒完全版 安卓版v1.2.0
下载忍者武士暗影格斗无限金币版 安卓版v1.82.1
下载忍者必须死34399账号登录版 最新版v1.0.138v2.0.72
下载创造与魔法免登录版 手机版v1.0.0760
创造与魔法是一款高度自由的沙盒冒险手游,该游戏采用了3D最新
创造与魔法gm版 安卓版v1.0.0760
创造与魔法是一款有英雄互娱运营的一款经营沙盒建造手游,该游戏
创造与魔法变态无敌版 v1.0.0760
创造与魔法是一款3DQ版的沙盒模拟建造手游,在这里玩家需要适
腾讯普通话小镇游戏 安卓版v2.2.5
普通话小镇是由腾讯游戏追梦计划推出发行的模拟经营类型普通学习
海岛村 最新版v1.0
海岛村是一款非常好玩的模拟经营类手游,玩家在游戏中将会有一个