设置GDI+绘图清晰度

    GDI+绘制图片时是可以设置绘图清晰度的,清晰绘制比较占系统资源,普通模式绘制速度比较快,这个靠自己权衡了。今天在以前做的一个缩略图生成函数里加了GDI+清晰度设置的代码。
    其实设置清晰度很简单,只要加上一下三行代码,就可以让生成的缩略图和PhotoShop生成的效果一样了:
1Graphics _g = Graphics.FromImage(_newImg)
2_g.SmoothingMode = SmoothingMode.AntiAlias;
3_g.InterpolationMode = InterpolationMode.HighQualityBicubic;
4_g.CompositingQuality = CompositingQuality.HighQuality;

完整的缩略图生成函数是这样的:
 1/// 改变图片尺寸
 2/// img -- 图片对象
 3/// sx -- 水平缩放比例
 4/// sy -- 垂直缩放比例

 5public static Bitmap ResizeImage(Image img, float sx, float sy)
 6{
 7    return ResizeImage(img, (int)(img.Width * sx), (int)(img.Height * sy));
 8}

 9 
10/// 改变图片尺寸
11/// img -- 图片对象
12/// width -- 新的宽度
13/// height -- 新的高度

14public static Bitmap ResizeImage(Image img, int width, int height)
15{
16    Bitmap _newImg = new Bitmap(width, height);
17 
18    using (Graphics _g = Graphics.FromImage(_newImg))
19    {
20        _g.SmoothingMode = SmoothingMode.AntiAlias;
21        _g.InterpolationMode = InterpolationMode.HighQualityBicubic;
22        _g.CompositingQuality = CompositingQuality.HighQuality;
23        _g.DrawImage(img, 00, width, height);
24    }

25 
26    return _newImg;
27}
posted @ 2007-05-23 17:39  至尊王者  阅读(1045)  评论(0编辑  收藏  举报