zoukankan      html  css  js  c++  java
  • 压缩图片

     1 /// <summary>
     2         /// 压缩图片
     3         /// </summary>
     4         /// <param name="fileByte">图片字节数组</param>
     5         /// <param name="quality">压缩质量0-100之间,数值越大质量越高</param>
     6         /// <returns></returns>
     7         public static byte[] CompressionImage(byte[] fileByte, long quality)
     8         {
     9             using (MemoryStream fileStream = new MemoryStream(fileByte))
    10             {
    11                 using (System.Drawing.Image img = System.Drawing.Image.FromStream(fileStream))
    12                 {
    13                     using (Bitmap bitmap = new Bitmap(img))
    14                     {
    15                         ImageCodecInfo CodecInfo = GetEncoder(img.RawFormat);
    16                         System.Drawing.Imaging.Encoder myEncoder = System.Drawing.Imaging.Encoder.Quality;
    17                         EncoderParameters myEncoderParameters = new EncoderParameters(1);
    18                         EncoderParameter myEncoderParameter = new EncoderParameter(myEncoder, quality);
    19                         myEncoderParameters.Param[0] = myEncoderParameter;
    20                         using (MemoryStream ms = new MemoryStream())
    21                         {
    22                             bitmap.Save(ms, CodecInfo, myEncoderParameters);
    23                             myEncoderParameters.Dispose();
    24                             myEncoderParameter.Dispose();
    25                             return ms.ToArray();
    26                         }
    27                     }
    28                 }
    29             }
    30         }
    31         /// <summary>
    32         /// 获取指定图片编码信息
    33         /// </summary>
    34         /// <param name="format"></param>
    35         /// <returns></returns>
    36         private static ImageCodecInfo GetEncoder(ImageFormat format)
    37         {
    38             ImageCodecInfo[] codecs = ImageCodecInfo.GetImageDecoders();
    39             foreach (ImageCodecInfo codec in codecs)
    40             {
    41                 if (codec.FormatID == format.Guid)
    42                 {
    43                     return codec;
    44                 }
    45             }
    46             return null;
    47         }
  • 相关阅读:
    python基础
    目标文件格式
    PHP 计算每个月的最后一天
    学习应该专注于学习这件事上
    以 Composer 的方式在 PhpStorm 中添加代码审查工具 Code Sniffer
    开始在博客园写文章啦!
    Git 常用操作
    常用写作格式
    将公司的主要项目从eclipse迁移到android studio for mac环境(1)
    写随笔、博客的心情
  • 原文地址:https://www.cnblogs.com/lyghost/p/4877636.html
Copyright © 2011-2022 走看看