.net又一个生成缩略图的方法,不变形,非常好用

生成缩略图是一个十分常用功能,找到了一个方法,重写部分代码,实用又好用,.net又一个生成缩略图的方法,不变形

 1 /// <summary>
 2         /// 为图片生成缩略图 by 何问起
 3         /// </summary>
 4         /// <param name="phyPath">原图片的路径</param>
 5         /// <param name="width">缩略图宽</param>
 6         /// <param name="height">缩略图高</param>
 7         /// <returns></returns>
 8         public System.Drawing.Image GetHvtThumbnail(System.Drawing.Image image, int width, int height)
 9         {
10           //代码是从开源项目HoverTreeCMS中获取的
11           //更多信息请参考:http://hovertree.com/menu/hovertreecms/
12             Bitmap m_hovertreeBmp = new Bitmap(width, height);
13             //从Bitmap创建一个System.Drawing.Graphics
14             Graphics m_HvtGr = Graphics.FromImage(m_hovertreeBmp);
15             //设置
16             m_HvtGr.SmoothingMode = System.Drawing.Drawing2D.SmoothingMode.HighQuality;
17             //下面这个也设成高质量
18             m_HvtGr.CompositingQuality = System.Drawing.Drawing2D.CompositingQuality.HighQuality;
19             //下面这个设成High
20             m_HvtGr.InterpolationMode = System.Drawing.Drawing2D.InterpolationMode.HighQualityBicubic;
21             //把原始图像绘制成上面所设置宽高的缩小图
22             Rectangle rectDestination = new Rectangle(0, 0, width, height);
23
24             int m_width, m_height;
25             if (image.Width * height > image.Height * width)
26             {
27                 m_height = image.Height;
28                 m_width = (image.Height * width) / height;
29             }
30             else
31             {
32                 m_width = image.Width;
33                 m_height = (image.Width * height) / width;
34             }
35
36             m_HvtGr.DrawImage(image, rectDestination, 0, 0, m_width, m_height, GraphicsUnit.Pixel);
37
38             return m_hovertreeBmp;
39         }
时间: 2024-08-26 12:46:19

.net又一个生成缩略图的方法,不变形,非常好用的相关文章

.net又一个生成缩略图的方法,不变形

生成缩略图是一个十分常用功能,找到了一个方法,重写部分代码,实用又好用,.net又一个生成缩略图的方法,不变形 1 /// <summary> 2 /// 为图片生成缩略图 by 何问起 3 /// </summary> 4 /// <param name="phyPath">原图片的路径</param> 5 /// <param name="width">缩略图宽</param> 6 ///

C#生成缩略图不失真的方法

最近一个手持机项目有个需求,因为物料图片的大小不一,有的很大显示到手持机上会只显示图片的一部分,界面显得非常乱,很影响客户的体验度.所以需要一个方法,将上传到服务器上的图片进行处理,按照一定的大小格式进行保存. 下面提供了两种获取图片缩略图的方法,供大家参考. 方法一:通过调用Image对象的自带方法GetThumbnailImage()进行图片转换 /// <summary> /// 生成缩略图重载方法,返回缩略图的Image对象 /// </summary> /// <p

C#简单生成缩略图的方法

本文实例讲述了C#简单生成缩略图的方法.分享给大家供大家参考.具体实现方法如下: /// <summary> /// 生成缩略图 /// </summary> /// <param name="originalImagePath">源图路径(物理路径)</param> /// <param name="thumbnailPath">缩略图路径(物理路径)</param> /// <para

php获取远程图片url生成缩略图的方法

getimg.php <?php /** * *函数:调整图片尺寸或生成缩略图 *返回:True/False *参数: * $Image 需要调整的图片(含路径) * $Dw=450 调整时最大宽度;缩略图时的绝对宽度 * $Dh=450 调整时最大高度;缩略图时的绝对高度 * $Type=1 1,调整尺寸; 2,生成缩略图 */ $phtypes=array('img/gif', 'img/jpg', 'img/jpeg', 'img/bmp', 'img/pjpeg', 'img/x-png

PS如何批量生成缩略图(方法可以通用其他重复劳动)

原图 缩略 进入正题,学生时代玩过脚本精灵的应该一点就通 原理就是:录制一系列动作,然后生成脚本,并执行(经常PS水印代码的一个可以用程序实现,一个就可以用PS脚本) 新建一个组 新建一个动作 进行你的重复操作,它会记录下来 比如:缩小一下大小再导出 停止录制,框框里面就是PS记录的动作 生成批处理 选择参数,比如来源文件夹,存储文件夹等等(扩:批量重命名图片是不是也就可以这么玩一个,思路无限,只差人想) 结束了

生成缩略图时报GDI+中发生一般性错误

最近由于业务需要要写一个生成缩略图并能设置图片质量的功能,本来这是一件so easy的事,以前也干过,可是却遇到了问题.话不多说先看代码 /// <summary> /// 等比生成缩略图 /// </summary> /// <param name="originalImagePath">源图路径(物理路径)</param> /// <param name="thumbnailPath">缩略图路径(物理

C#生成缩略图代码

/**//// <summary>        /// 生成缩略图        /// </summary>        /// <param name="originalImagePath">源图路径(物理路径)</param>        /// <param name="thumbnailPath">缩略图路径(物理路径)</param>        /// <param 

ASP组件AspJpeg(加水印)生成缩略图等使用方法

ASP组件AspJpeg(加水印)生成缩略图等使用方法 作者: 字体:[增加 减小] 类型:转载 时间:2012-12-17我要评论 ASPJPEG是一款功能相当强大的图象处理组件,用它可以轻松地做出图片的缩略图和为图片加上水印功能.下面简单介绍一下使用方法,需要的朋友可以了解下 一.为图片添加水印 复制代码 代码如下: <% Dim Jpeg ''''//声明变量 Set Jpeg = Server.CreateObject("Persits.Jpeg") ''''//调用组件

C# 生成缩略图 方法

#region -生成缩略图- /// <summary> /// 生成缩略图 /// </summary> /// <param name="orginalImagePath">原图片对象</param> /// <param name="thumbnailPath">缩略图的路径</param> /// <param name="width">指定宽度<