头文件:
代码如下 | 复制代码 |
#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); |
茶杯头甜蜜终章dlc 官方手机版v1.0.0.3
下载火柴人传说暗影格斗内置菜单 最新版v3.0.1
下载荒野乱斗测试服 安卓版v61.10.3
下载荒野乱斗彩虹服 安卓版v61.10.3
下载寒霜启示录 安卓版v1.25.10
寒霜启示录是一款生存模拟游戏,不少玩家可能对于末日都有着自己
末日城堡免广告版 安卓最新版v0.7.1
末日城堡免广告版是一款非常好玩的模拟经营类游戏,内部可以不看
甜蜜人生模拟器 最新版v1.4.5
甜蜜人生模拟器是一款非常好玩的模拟恋爱手游,玩家在这里能够对
武器锻造师内置功能菜单 v10.4
武器锻造师内置菜单版是游戏的破解版本,在该版本中为玩家提供了
开放空间overfield 安卓版v1.0.5
开放空间Overfield是一款箱庭养成经营手游,让你在广阔