在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到100ImageHelper.CompressImage(sourcePath, destinationPath, quality);在上面的示例中,首先通过Bitmap类加载图片,然后获取JPEG编码器并设置压缩质量参数。最后保存压缩后的图片到指定路径。您可以调整quality参数来控制压缩质量,值范围从0到100,0表示最低质量,100表示最高质量。