zoukankan      html  css  js  c++  java
  • 设置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}
  • 相关阅读:
    Odoo13在Win10(专业版)中的配置
    我在博客园安家了
    2012笔记
    你给我好好发邮件行不行
    事务经典例子
    轻松实现SQL Server与Access、Excel数据表间的导入导出
    SQL大全
    小笔记
    性能优化
    程序中的异常和错误处理
  • 原文地址:https://www.cnblogs.com/flying_bat/p/757430.html
Copyright © 2011-2022 走看看