博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
上传图片时等比缩放的一个小小算法
阅读量:5036 次
发布时间:2019-06-12

本文共 1545 字,大约阅读时间需要 5 分钟。

protected void Button1_Click(object sender, EventArgs e)       {           int width = 300, height = 300;//生成缩略图时定义一个最大的宽和高           System.Drawing.Image img = System.Drawing.Image.FromFile("d:/test.jpg");           int swidth =img.Width;//源图片的宽           int sheight = img.Height;//源图片的高           var info = new SImg           {               width = swidth,               height = sheight           };           info.GetHW(width, height, info);           //得到缩放后的宽和高           int w = info.width;           int h = info.height;           //获取缩略图           System.Drawing.Image smallimg = img.GetThumbnailImage(w, h, new System.Drawing.Image.GetThumbnailImageAbort(() => { return false; }), IntPtr.Zero);          }        public class SImg       {           public int width { get; set; }           public int height { get; set; }            public void GetHW(int width, int height, SImg img)           {               //如果宽和高任意一个超过定义的宽和高 执行等比               if (img.width > width || img.height > height)               {                   img.width = img.width / 2;                   img.height = img.height / 2;                   GetHW(width, height, img);               }           }        }

Image.GetThumbnailImage 方法

public Image GetThumbnailImage (	int thumbWidth,	int thumbHeight,	GetThumbnailImageAbort callback,	IntPtr callbackData)

参数

thumbWidth

请求的缩略图的宽度(以像素为单位)。

thumbHeight

请求的缩略图的高度(以像素为单位)。

callback

一个  委托。在 GDI+ 1.0 版中不使用此委托。即便如此,也必须创建一个委托并在该参数中传递对此委托的引用。

callbackData

必须为 。

转载于:https://www.cnblogs.com/vaevvaev/p/6885255.html

你可能感兴趣的文章
【BZOJ】3142: [Hnoi2013]数列
查看>>
http初探
查看>>
elasticsearch的安装
查看>>
__next__()
查看>>
爬取:中国大学排名
查看>>
聊天室(C++客户端+Pyhton服务器)_1.框架搭设
查看>>
UpdatePanel 内控件 更新“外的”控件【转】
查看>>
mybatis中>=和<=的实现方式
查看>>
Python面向对象03/继承
查看>>
java序列化和反序列化
查看>>
绝对定位
查看>>
flink源码编译(windows环境)
查看>>
dpkg 删除 百度网盘 程序
查看>>
服务器nginx安装
查看>>
std::nothrow
查看>>
rest-framework 分页器
查看>>
JQuery(一)安装&选择器 样式篇
查看>>
浏览器的DNS缓存查看和清除
查看>>
浏览器跨域问题
查看>>
HTML5 input控件 placeholder属性
查看>>