在C#中进行图片压缩可以使用System.Drawing命名空间中的Bitmap类和Graphics类来实现。下面是一个简单的示例代码,演示了如何将图片进行压缩:
using System;using System.Drawing;using System.Drawing.Imaging;public static void CompressImage(string inputImagePath, string outputImagePath, long quality){ using (Bitmap bmp = new Bitmap(inputImagePath)) { ImageCodecInfo jpgEncoder = GetEncoder(ImageFormat.Jpeg); Encoder encoder = Encoder.Quality; EncoderParameters encoderParameters = new EncoderParameters(1); EncoderParameter encoderParameter = new EncoderParameter(encoder, quality); encoderParameters.Param[0] = encoderParameter; bmp.Save(outputImagePath, 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;}// 使用方法CompressImage("input.jpg", "output.jpg", 50);在上面的示例代码中,CompressImage方法接受三个参数:输入图片路径,输出图片路径和压缩质量。压缩质量的值在0到100之间,值越小表示压缩质量越低。GetEncoder方法用于获取指定格式的编码器。
请注意,压缩图片可能会导致图片质量的损失,因此需要根据具体情况调整压缩质量的值。


