马上加入IBC程序猿 各种源码随意下,各种教程随便看! 注册 每日签到 加入编程讨论群

C#教程 ASP.NET教程 C#视频教程程序源码享受不尽 C#技术求助 ASP.NET技术求助

【源码下载】 社群合作 申请版主 程序开发 【远程协助】 每天乐一乐 每日签到 【承接外包项目】 面试-葵花宝典下载

官方一群:

官方二群:

C#生成清晰缩略图【ASP.NET】

[复制链接]
查看3071 | 回复0 | 2016-5-11 09:37:56 | 显示全部楼层 |阅读模式
Winform、ASP.NET中如何生成清晰缩略图,代码分享

[C#] 纯文本查看 复制代码
public void imgsize()
        {
            //本例中假定了两个变量:

            String src = "c:/myImages/a.jpg";   //源图像文件的绝对路径
            String dest = "c:/myImages/a_th.jpg";    //生成的缩略图图像文件的绝对路径

            int thumbWidth = 132;    //要生成的缩略图的宽度
            int thumbHeight = 100;   //要生成的缩略图的高度
            System.Drawing.Image image = System.Drawing.Image.FromFile(src); //利用Image对象装载源图像

            //接着创建一个System.Drawing.Bitmap对象,并设置你希望的缩略图的宽度和高度。
            int srcWidth = image.Width;
            int srcHeight = image.Height;
            Bitmap bmp = new Bitmap(thumbWidth, thumbHeight);

            //从Bitmap创建一个System.Drawing.Graphics对象,用来绘制高质量的缩小图。
            System.Drawing.Graphics gr = System.Drawing.Graphics.FromImage(bmp);

            //设置 System.Drawing.Graphics对象的SmoothingMode属性为HighQuality
            gr.SmoothingMode = System.Drawing.Drawing2D.SmoothingMode.HighQuality;

            //下面这个也设成高质量
            gr.CompositingQuality = System.Drawing.Drawing2D.CompositingQuality.HighQuality;

            //下面这个设成High
            gr.InterpolationMode = System.Drawing.Drawing2D.InterpolationMode.High;

            //把原始图像绘制成上面所设置宽高的缩小图
            System.Drawing.Rectangle rectDestination = new System.Drawing.Rectangle(0, 0, thumbWidth, thumbHeight);
            gr.DrawImage(image, rectDestination, 0, 0, srcWidth, srcHeight, GraphicsUnit.Pixel);

            //保存图像,大功告成!
            bmp.Save(dest);

            //最后别忘了释放资源
            bmp.Dispose();
            image.Dispose();
        }



C#论坛 www.ibcibc.com IBC编程社区
C#
C#论坛
IBC编程社区
*滑块验证:
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则