• c#图片压缩


    ///调用事例

    private void button5_Click(object sender, EventArgs e)
    {
    string pathPerc = @"E:XX.jpg";//保存图片地址,名称和格式
    string source = @"DXX.jpg";//图片源文件路径
    getThumImage(source, 50, 2, pathPerc);//quality,multiple越小压缩图片越大

    }

    /**/
    /// <summary>
    /// 生成缩略图
    /// </summary>
    /// <param name="sourceFile">原始图片文件</param>
    /// <param name="quality">质量压缩比</param>
    /// <param name="multiple">收缩倍数</param>
    /// <param name="outputFile">输出文件名</param>
    /// <returns>成功返回true,失败则返回false</returns>
    public static bool getThumImage(String sourceFile, long quality, int multiple, String outputFile)
    {
    try
    {
    long imageQuality = quality;
    Bitmap sourceImage = new Bitmap(sourceFile);
    ImageCodecInfo myImageCodecInfo = GetEncoderInfo("image/jpeg");
    System.Drawing.Imaging.Encoder myEncoder = System.Drawing.Imaging.Encoder.Quality;
    EncoderParameters myEncoderParameters = new EncoderParameters(1);
    EncoderParameter myEncoderParameter = new EncoderParameter(myEncoder, imageQuality);
    myEncoderParameters.Param[0] = myEncoderParameter;
    float xWidth = sourceImage.Width;
    float yWidth = sourceImage.Height;
    Bitmap newImage = new Bitmap((int)(xWidth / multiple), (int)(yWidth / multiple));
    Graphics g = Graphics.FromImage(newImage);

    g.DrawImage(sourceImage, 0, 0, xWidth / multiple, yWidth / multiple);
    g.Dispose();
    newImage.Save(outputFile, myImageCodecInfo, myEncoderParameters);
    return true;
    }
    catch (Exception ex)
    {
    return false;
    }
    }


    private static ImageCodecInfo GetEncoderInfo(String mimeType)
    {
    int j;
    ImageCodecInfo[] encoders;
    encoders = ImageCodecInfo.GetImageEncoders();
    for (j = 0; j < encoders.Length; ++j)
    {
    if (encoders[j].MimeType == mimeType)
    return encoders[j];
    }
    return null;
    }

    原文来至:http://blog.csdn.net/szstephenzhou/article/details/38900345

    作者:D调灬仔
    出处:https://www.cnblogs.com/chj929555796/
    您的推荐是我最大的动力,如果觉得这篇文章对你有帮助的话,请点个“推荐”哦,博主在此感谢!
  • 相关阅读:
    tcp三次握手和四次挥手
    tcp/ip五层协议
    osi七层模型
    函数与模块间作用域的区别
    简易版学生选课系统
    用pathon实现计算器功能
    python三大神器之生成器
    python三大神器之迭代器
    用python实现购物车功能
    正则表达式用法简介
  • 原文地址:https://www.cnblogs.com/chj929555796/p/7054440.html
Copyright © 2020-2023  润新知