首页主机资讯C#压缩图片保持质量的方法

C#压缩图片保持质量的方法

时间2024-07-11 22:26:03发布访客分类主机资讯浏览609
导读:在C#中压缩图片并保持质量的方法可以使用以下代码示例: using System; using System.Drawing; using System.Drawing.Imaging; using System.IO; public s...

在C#中压缩图片并保持质量的方法可以使用以下代码示例:

using System;
    
using System.Drawing;
    
using System.Drawing.Imaging;
    
using System.IO;


public static class ImageHelper
{

    public static void CompressImage(string sourcePath, string destinationPath, long quality)
    {

        using (Bitmap bmp = new Bitmap(sourcePath))
        {
    
            ImageCodecInfo jpgEncoder = GetEncoder(ImageFormat.Jpeg);
    
            Encoder encoder = Encoder.Quality;
    
            EncoderParameter encoderParameter = new EncoderParameter(encoder, quality);
    
            EncoderParameters encoderParameters = new EncoderParameters(1);
    
            encoderParameters.Param[0] = encoderParameter;
    

            bmp.Save(destinationPath, jpgEncoder, encoderParameters);

        }

    }


    private static ImageCodecInfo GetEncoder(ImageFormat format)
    {
    
        ImageCodecInfo[] codecs = ImageCodecInfo.GetImageEncoders();

        
        foreach (ImageCodecInfo codec in codecs)
        {

            if (codec.FormatID == format.Guid)
            {
    
                return codec;

            }

        }
    
        
        return null;

    }

}
    

// 使用示例
string sourcePath = @"C:\input.jpg";
    
string destinationPath = @"C:\output.jpg";
    
long quality = 50;
     // 压缩质量,范围从0到100

ImageHelper.CompressImage(sourcePath, destinationPath, quality);
    

在上面的示例中,首先通过Bitmap类加载图片,然后获取JPEG编码器并设置压缩质量参数。最后保存压缩后的图片到指定路径。您可以调整quality参数来控制压缩质量,值范围从0到100,0表示最低质量,100表示最高质量。

声明:本文内容由网友自发贡献,本站不承担相应法律责任。对本内容有异议或投诉,请联系2913721942#qq.com核实处理,我们将尽快回复您,谢谢合作!


若转载请注明出处: C#压缩图片保持质量的方法
本文地址: https://pptw.com/jishu/688032.html
C#压缩与解压缩的性能对比 C#压缩库支持哪些格式

游客 回复需填写必要信息