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         }
  • 相关阅读:
    冲刺第一天
    Nacos微服务体系配置管理
    Nacos配置中心客户端程序
    Nacos配置中心最佳实践
    SpringCloud2020整合Nacos-Bootstrap配置不生效的解决
    18.SpringCloud Alibaba Nacos服务注册和配置中心
    17、SpringCloud Alibaba入门简介
    SpringBoot热部署
    SpringBoot请求处理-常用参数注解使用
    5、创建springcloud alibaba工程
  • 原文地址:https://www.cnblogs.com/lyghost/p/4877636.html
Copyright © 2011-2022 走看看