最新下载
热门教程
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 10
asp.net中C实现缩放图片的例子
时间:2022-06-25 08:14:14 编辑:袖梨 来源:一聚教程网
头文件:
代码如下 | 复制代码 |
#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); |
相关文章
- 王者荣耀侦探能力大测试攻略 王者荣耀侦探能力大测试怎么过 11-22
- 无期迷途主线前瞻兑换码是什么 11-22
- 原神欧洛伦怎么培养 11-22
- 炉石传说网易云音乐联动怎么玩 11-22
- 永劫无间手游确幸转盘怎么样 11-22
- 无期迷途主线前瞻兑换码是什么 无期迷途主线前瞻直播兑换码介绍 11-22