| 发表于:2007-02-14 09:13:081楼 得分:15 |
给楼主两个自己写的代码看看,希望对你有点帮助 /// <summary> /// 按比例缩放图片,并非按原来大小裁剪 /// 水平长度优先. /// </summary> public static string resizeimage(string _srcimage, int _dstx, string _dstpath) { system.drawing.image img = system.drawing.image.fromfile(_srcimage); int newhight = img.height; int newwidth = img.width; while (newwidth > _dstx)//按比例缩小图片 { newhight = convert.toint32(newhight / 1.01); newwidth = convert.toint32(newwidth / 1.01); } system.drawing.image newimg = img.getthumbnailimage(newwidth, newhight, new system.drawing.image.getthumbnailimageabort(thumbcallback), intptr.zero); system.drawing.bitmap bmp = new system.drawing.bitmap(newimg); string tempname=genrandomnumber(22) + ".jpg "; bmp.save(_dstpath + tempname , system.drawing.imaging.imageformat.jpeg); return tempname; } /// <summary> /// 按比例缩放图片,并非按原来大小裁剪 /// 垂直长度优先 /// </summary> public static string resizeimage(int _dsty, string _srcimage, string _dstpath) { system.drawing.image img = system.drawing.image.fromfile(_srcimage); int newhight = img.height; int newwidth = img.width; while (newwidth > _dsty)//按比例缩小图片 { newhight = convert.toint32(newhight / 1.01); newwidth = convert.toint32(newwidth / 1.01); } system.drawing.image newimg = img.getthumbnailimage(newwidth, newhight, new system.drawing.image.getthumbnailimageabort(thumbcallback), intptr.zero); system.drawing.bitmap bmp = new system.drawing.bitmap(newimg); string tempname = genrandomnumber(22) + ".jpg "; bmp.save(_dstpath + tempname, system.drawing.imaging.imageformat.jpeg); return tempname; } public static bool thumbcallback() { return true; } public static string genrandomnumber(int _seed) { random rdm = new random(_seed); return system.datetime.now.millisecond.tostring() + rdm.next(1, 65536).tostring(); } | | |
|