阅读量:0
在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
方法用于获取指定格式的编码器。
请注意,压缩图片可能会导致图片质量的损失,因此需要根据具体情况调整压缩质量的值。