设置GDI+绘图清晰度
    GDI+绘制图片时是可以设置绘图清晰度的,清晰绘制比较占系统资源,普通模式绘制速度比较快,这个靠自己权衡了。今天在以前做的一个缩略图生成函数里加了GDI+清晰度设置的代码。
其实设置清晰度很简单,只要加上一下三行代码,就可以让生成的缩略图和PhotoShop生成的效果一样了:
完整的缩略图生成函数是这样的:
其实设置清晰度很简单,只要加上一下三行代码,就可以让生成的缩略图和PhotoShop生成的效果一样了:
1 Graphics _g = Graphics.FromImage(_newImg)
Graphics _g = Graphics.FromImage(_newImg)
2 _g.SmoothingMode = SmoothingMode.AntiAlias;
_g.SmoothingMode = SmoothingMode.AntiAlias;
3 _g.InterpolationMode = InterpolationMode.HighQualityBicubic;
_g.InterpolationMode = InterpolationMode.HighQualityBicubic;
4 _g.CompositingQuality = CompositingQuality.HighQuality;
_g.CompositingQuality = CompositingQuality.HighQuality;
 Graphics _g = Graphics.FromImage(_newImg)
Graphics _g = Graphics.FromImage(_newImg)2
 _g.SmoothingMode = SmoothingMode.AntiAlias;
_g.SmoothingMode = SmoothingMode.AntiAlias;3
 _g.InterpolationMode = InterpolationMode.HighQualityBicubic;
_g.InterpolationMode = InterpolationMode.HighQualityBicubic;4
 _g.CompositingQuality = CompositingQuality.HighQuality;
_g.CompositingQuality = CompositingQuality.HighQuality;完整的缩略图生成函数是这样的:
 1 /// 改变图片尺寸
/// 改变图片尺寸
2 /// img -- 图片对象
/// img -- 图片对象
3 /// sx -- 水平缩放比例
/// sx -- 水平缩放比例
4 /// sy -- 垂直缩放比例
/// sy -- 垂直缩放比例
5 public static Bitmap ResizeImage(Image img, float sx, float sy)
public static Bitmap ResizeImage(Image img, float sx, float sy)
6 {
{
7 return ResizeImage(img, (int)(img.Width * sx), (int)(img.Height * sy));
    return ResizeImage(img, (int)(img.Width * sx), (int)(img.Height * sy));
8 }
}
9 
 
10 /// 改变图片尺寸
/// 改变图片尺寸
11 /// img -- 图片对象
/// img -- 图片对象
12 /// width -- 新的宽度
/// width -- 新的宽度
13 /// height -- 新的高度
/// height -- 新的高度
14 public static Bitmap ResizeImage(Image img, int width, int height)
public static Bitmap ResizeImage(Image img, int width, int height)
15 {
{
16 Bitmap _newImg = new Bitmap(width, height);
    Bitmap _newImg = new Bitmap(width, height);
17 
 
18 using (Graphics _g = Graphics.FromImage(_newImg))
    using (Graphics _g = Graphics.FromImage(_newImg))
19 {
    {
20 _g.SmoothingMode = SmoothingMode.AntiAlias;
        _g.SmoothingMode = SmoothingMode.AntiAlias;
21 _g.InterpolationMode = InterpolationMode.HighQualityBicubic;
        _g.InterpolationMode = InterpolationMode.HighQualityBicubic;
22 _g.CompositingQuality = CompositingQuality.HighQuality;
        _g.CompositingQuality = CompositingQuality.HighQuality;
23 _g.DrawImage(img, 0, 0, width, height);
        _g.DrawImage(img, 0, 0, width, height);
24 }
    }
25 
 
26 return _newImg;
    return _newImg;
27 }
}
 /// 改变图片尺寸
/// 改变图片尺寸2
 /// img -- 图片对象
/// img -- 图片对象3
 /// sx -- 水平缩放比例
/// sx -- 水平缩放比例4
 /// sy -- 垂直缩放比例
/// sy -- 垂直缩放比例5
 public static Bitmap ResizeImage(Image img, float sx, float sy)
public static Bitmap ResizeImage(Image img, float sx, float sy)6
 {
{7
 return ResizeImage(img, (int)(img.Width * sx), (int)(img.Height * sy));
    return ResizeImage(img, (int)(img.Width * sx), (int)(img.Height * sy));8
 }
}9
 
 10
 /// 改变图片尺寸
/// 改变图片尺寸11
 /// img -- 图片对象
/// img -- 图片对象12
 /// width -- 新的宽度
/// width -- 新的宽度13
 /// height -- 新的高度
/// height -- 新的高度14
 public static Bitmap ResizeImage(Image img, int width, int height)
public static Bitmap ResizeImage(Image img, int width, int height)15
 {
{16
 Bitmap _newImg = new Bitmap(width, height);
    Bitmap _newImg = new Bitmap(width, height);17
 
 18
 using (Graphics _g = Graphics.FromImage(_newImg))
    using (Graphics _g = Graphics.FromImage(_newImg))19
 {
    {20
 _g.SmoothingMode = SmoothingMode.AntiAlias;
        _g.SmoothingMode = SmoothingMode.AntiAlias;21
 _g.InterpolationMode = InterpolationMode.HighQualityBicubic;
        _g.InterpolationMode = InterpolationMode.HighQualityBicubic;22
 _g.CompositingQuality = CompositingQuality.HighQuality;
        _g.CompositingQuality = CompositingQuality.HighQuality;23
 _g.DrawImage(img, 0, 0, width, height);
        _g.DrawImage(img, 0, 0, width, height);24
 }
    }25
 
 26
 return _newImg;
    return _newImg;27
 }
}
    我最擅长从零开始创造世界,所以从来不怕失败,它最多也就让我一无所有。
 
                    
                     
                    
                 
                    
                 


 
     
                
            
         
         浙公网安备 33010602011771号
浙公网安备 33010602011771号