用c#编写一张图片压缩,并保存的代码
时间: 2024-02-15 22:03:18 浏览: 188
以下是使用 C# 编写的图片压缩和保存代码:
```csharp
using System.Drawing;
using System.Drawing.Imaging;
public void CompressAndSaveImage(string inputImagePath, string outputImagePath, long quality)
{
using (Bitmap bmp = new Bitmap(inputImagePath))
{
ImageCodecInfo jpgEncoder = GetEncoder(ImageFormat.Jpeg);
EncoderParameters encoderParams = new EncoderParameters(1);
encoderParams.Param[0] = new EncoderParameter(Encoder.Quality, quality);
bmp.Save(outputImagePath, jpgEncoder, encoderParams);
}
}
private ImageCodecInfo GetEncoder(ImageFormat format)
{
ImageCodecInfo[] codecs = ImageCodecInfo.GetImageDecoders();
foreach (ImageCodecInfo codec in codecs)
{
if (codec.FormatID == format.Guid)
{
return codec;
}
}
return null;
}
```
使用方法:
```csharp
CompressAndSaveImage("input.jpg", "output.jpg", 50L);
```
其中,`inputImagePath` 是要压缩的图片路径,`outputImagePath` 是压缩后的图片保存路径,`quality` 是压缩质量,取值范围为 0~100,数值越小压缩比越高,图片质量越差。
阅读全文