.net高品质缩略图和低品质缩略图

本文介绍了一种使用C#进行高质量图片缩放的方法,通过调整插值法和呈现平滑程度来实现高清晰度的缩略图生成。此外,还提供了一个简单的普通缩略图生成示例。

 string originalFilename =Server.MapPath("222.jpg");
        //生成的高质量图片名称  
        string strGoodFile = Server.MapPath("222-small-good.jpg");
        //生成的低质量图片名称  
        string strBadFile = Server.MapPath("222-small-bad.jpg");
        //缩小的倍数  
        int iScale = 3;

        //从文件取得图片对象  
        System.Drawing.Image image = System.Drawing.Image.FromFile(originalFilename);
        //取得图片大小  
        System.Drawing.Size size = new Size(image.Width / iScale, image.Height / iScale);
        //新建一个bmp图片  
        System.Drawing.Image bitmap = new System.Drawing.Bitmap(size.Width, size.Height);
        //新建一个画板  
        System.Drawing.Graphics g = System.Drawing.Graphics.FromImage(bitmap);
        //设置高质量插值法  
        g.InterpolationMode = System.Drawing.Drawing2D.InterpolationMode.High;
        //设置高质量,低速度呈现平滑程度  
        g.SmoothingMode = System.Drawing.Drawing2D.SmoothingMode.HighQuality;
        //清空一下画布  
        g.Clear(Color.Blue);
        //在指定位置画图  
        g.DrawImage(image, new System.Drawing.Rectangle(0, 0, bitmap.Width, bitmap.Height),
        new System.Drawing.Rectangle(0, 0, image.Width, image.Height),
        System.Drawing.GraphicsUnit.Pixel);
        //保存高清晰度的缩略图  
        bitmap.Save(strGoodFile, System.Drawing.Imaging.ImageFormat.Jpeg);
        //取得原图像的普通缩略图  
        System.Drawing.Image img = image.GetThumbnailImage(image.Width / iScale, image.Height / iScale, null, IntPtr.Zero);
        //保存普通缩略图  
        img.Save(strBadFile, System.Drawing.Imaging.ImageFormat.Jpeg);

        g.Dispose();
        image.Dispose();
        Response.Write("<script>alert('生成完毕')</script>");

转载于:https://www.cnblogs.com/yeye518/archive/2009/02/23/2231687.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值