zoukankan      html  css  js  c++  java
  • 插补法图像压缩

    /// <summary>
            /// 压缩图像(插补法)
            /// </summary>
            /// <param name="bitmap">要压缩的图像</param>
            /// <param name="newWidth">压缩后的宽度</param>
            /// <param name="newHight">压缩后的高度</param>
            /// <param name="Mode">-1.Invalid等效于 Invalid 枚举的 QualityMode 元素; 0.Default指定默认模式。1.Low指定低质量插值法。2.High指定高质量插值法。3.Bilinear指定双线性插值法。 不进行预筛选。 将图像收缩为原始大小的 50 % 以下时,此模式不适用。4.Bicubic指定双三次插值法。 不进行预筛选。 将图像收缩为原始大小的 25 % 以下时,此模式不适用。5.NearestNeighbor指定最临近插值法。6.HighQualityBilinear指定高质量的双线性插值法。 执行预筛选以确保高质量的收缩。7.HighQualityBicubic指定高质量的双三次插值法。 执行预筛选以确保高质量的收缩。 此模式可产生质量最高的转换图像。</param>
            /// <returns>返回压缩后的图像</returns>
            public static Bitmap ResizeImage(Bitmap bitmap, int newWidth, int newHight, System.Drawing.Drawing2D.InterpolationMode mode= System.Drawing.Drawing2D.InterpolationMode.HighQualityBicubic)
            {
                try
                {
                    Bitmap b = new Bitmap(newWidth, newHight);
                    Graphics g = Graphics.FromImage(b);
                    //插值算法质量
                    g.InterpolationMode = mode;
                    g.DrawImage(bitmap, new Rectangle(0, 0, newWidth, newHight), new Rectangle(0, 0, bitmap.Width, bitmap.Height),GraphicsUnit.Pixel);
                    g.Dispose();
                    return b;
                }
                catch (Exception ex)
                {
                    throw ex;
                }
            }

  • 相关阅读:
    Python语言基础03-分支和循环结构
    Python语言基础01-初识Python
    李宏毅深度学习笔记08---Bert、ELMO、GPT
    李宏毅深度学习笔记07---Transformer
    李宏毅深度学习笔记06---word embedding(词嵌入也称词向量)
    李宏毅深度学习笔记05---RNN 循环神经网络02
    李宏毅深度学习笔记04---RNN 循环神经网络01
    李宏毅深度学习笔记03---CNN 卷积神经网络
    李宏毅深度学习笔记02---深度学习的发展历程、3大研究步骤、
    李宏毅深度学习笔记---课程介绍
  • 原文地址:https://www.cnblogs.com/forblueskies/p/13492053.html
Copyright © 2011-2022 走看看