C# 中保存的 JPG 的质量

c++

1个回答

写回答

lclxy1105

2025-07-01 00:35

+ 关注

AI
AI

C#中保存JPG的质量

在C#中,我们经常需要处理图像文件,并保存它们以供后续使用。其中一种常见的图像格式是JPG,它是一种被广泛使用的有损压缩格式。在保存JPG图像时,我们可以设置质量参数来控制图像的压缩程度,以平衡图像质量和文件大小。

设置JPG图像质量

在C#中,我们可以使用System.Drawing命名空间中的Bitmap类来处理图像。要保存JPG图像,并设置质量参数,我们需要使用EncoderParameters和Encoder类。

以下是一个简单的示例代码,展示了如何设置JPG图像的质量为90%:

csharp

using System.Drawing;

using System.Drawing.Imaging;

public void SaveJpgWithQuality(Bitmap bitmap, string filePath, long quality)

{

EncoderParameters encoderParams = new EncoderParameters(1);

encoderParams.Param[0] = new EncoderParameter(Encoder.Quality, quality);

ImageCodecInfo jpgEncoder = GetJpgEncoder();

bitmap.Save(filePath, jpgEncoder, encoderParams);

}

public ImageCodecInfo GetJpgEncoder()

{

ImageCodecInfo[] codecs = ImageCodecInfo.GetImageEncoders();

foreach (ImageCodecInfo codec in codecs)

{

if (codec.FormatID == ImageFormat.Jpeg.Guid)

{

return codec;

}

}

return null;

}

上述代码中,SaveJpgWithQuality方法接受一个Bitmap对象、一个保存路径和一个质量参数。使用EncoderParameters和Encoder类,我们可以将质量参数设置为一个范围从0到100的值,其中0表示最低质量,100表示最高质量。在示例代码中,我们将质量设置为90%。

案例代码

下面我们将使用上述的方法来演示如何保存JPG图像并设置质量参数。

csharp

using System;

using System.Drawing;

public class Program

{

public static void MAIn(string[] args)

{

// 创建一个Bitmap对象

Bitmap bitmap = new Bitmap("input.jpg");

// 保存JPG图像,设置质量为90%

SaveJpgWithQuality(bitmap, "output.jpg", 90L);

Console.WriteLine("JPG图像保存成功!");

}

public static void SaveJpgWithQuality(Bitmap bitmap, string filePath, long quality)

{

// 设置质量参数

EncoderParameters encoderParams = new EncoderParameters(1);

encoderParams.Param[0] = new EncoderParameter(Encoder.Quality, quality);

// 获取JPG编码器

ImageCodecInfo jpgEncoder = GetJpgEncoder();

// 保存JPG图像

bitmap.Save(filePath, jpgEncoder, encoderParams);

}

public static ImageCodecInfo GetJpgEncoder()

{

ImageCodecInfo[] codecs = ImageCodecInfo.GetImageEncoders();

foreach (ImageCodecInfo codec in codecs)

{

if (codec.FormatID == ImageFormat.Jpeg.Guid)

{

return codec;

}

}

return null;

}

}

上述案例代码中,我们首先创建了一个Bitmap对象,然后调用SaveJpgWithQuality方法保存JPG图像,并将质量设置为90%。最后,我们输出保存成功的消息。

在C#中,我们可以使用System.Drawing命名空间中的Bitmap类来处理图像文件。当保存JPG图像时,我们可以通过设置质量参数来控制图像的压缩程度。通过使用EncoderParameters和Encoder类,我们可以设置质量参数的值,并将其应用于保存的图像文件中。这样,我们就可以在平衡图像质量和文件大小之间做出合适的选择。

希望本文能帮助您理解如何在C#中保存JPG图像的质量,并为您的图像处理任务提供一些指导和启示。

举报有用(4)分享收藏

Copyright © 2025 IZhiDa.com All Rights Reserved.

知答 版权所有 粤ICP备2023042255号