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}
  • 相关阅读:
    大整数相加算法
    java中String和char的区别
    Git命令
    Dart随记
    用nodejs或者Chrome控制台的js对URI进行编码或解码
    Rust执行cmd或shell命令
    cargo expand用于查看被宏隐藏的代码
    Blocking waiting for file lock on package cache
    Rust生命周期之个人理解
    Rust为基础类型实现Trait
  • 原文地址:https://www.cnblogs.com/flying_bat/p/757430.html
Copyright © 2011-2022 走看看