阅读量:0
在C#中,可以使用System.Drawing命名空间中的Bitmap类来实现图片压缩。以下是一个简单的示例代码,演示如何使用Bitmap类来压缩图片:
using System; using System.Drawing; using System.Drawing.Imaging; using System.IO; public static void CompressImage(string sourceImagePath, string outputImagePath, long quality) { using (Bitmap sourceImage = new Bitmap(sourceImagePath)) { ImageCodecInfo jpgEncoder = GetEncoder(ImageFormat.Jpeg); EncoderParameters encoderParameters = new EncoderParameters(1); encoderParameters.Param[0] = new EncoderParameter(Encoder.Quality, quality); sourceImage.Save(outputImagePath, jpgEncoder, encoderParameters); } } private static ImageCodecInfo GetEncoder(ImageFormat format) { ImageCodecInfo[] codecs = ImageCodecInfo.GetImageEncoders(); foreach (var codec in codecs) { if (codec.FormatID == format.Guid) { return codec; } } return null; }
在上面的示例中,CompressImage方法接受三个参数:原始图片的路径sourceImagePath、压缩后图片的保存路径outputImagePath以及压缩质量quality。在方法内部,首先使用Bitmap类加载原始图片,然后设置压缩编码器和参数,并最终保存压缩后的图片到指定路径。
需要注意的是,quality参数的取值范围通常是0到100之间,值越大表示图片质量越好。可以根据实际需求调整quality的数值以达到合适的压缩效果。