ibcadmin 发表于 2016-5-11 09:37:56

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

Winform、ASP.NET中如何生成清晰缩略图,代码分享

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();
      }


页: [1]
查看完整版本: C#生成清晰缩略图【ASP.NET】