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}
  • 相关阅读:
    Swift try try! try?使用和区别
    Sitemesh 3 配置和使用(最新)
    idea + mybatis generator + maven 插件使用
    (五)Hololens Unity 开发之 手势识别
    (四)Hololens Unity 开发之 凝视系统
    (二)Hololens Unity 开发入门 之 Hello HoloLens~
    (三)Hololens Unity 开发之 语音识别
    (一)Hololens Unity 开发环境搭建(Mac BOOTCAMP WIN10)
    iOS多线程技术方案
    基于OpenSSL的RSA加密应用(非算法)
  • 原文地址:https://www.cnblogs.com/flying_bat/p/757430.html
Copyright © 2011-2022 走看看