c# 在压缩图片时替代System.Drawing.Imaging.Encoder.Quality,支持跨平台的用哪个第三方类库
时间: 2024-10-10 10:17:09 浏览: 46
使用C# System.Drawing 绘制一张处方图片
在 C# 中,如果你需要替换 `System.Drawing.Imaging.Encoder.Quality` 来实现更高质量、跨平台的图片压缩,并且希望使用第三方库,可以考虑使用 `ImageSharp`(ImageSharp.NET 或 SixLabors.ImageSharp)。ImageSharp 是一个高性能的开源图像处理库,它提供了一种现代的方式来操作位图,包括图片压缩,而且它是 .NET Core 兼容的,因此非常适合跨平台应用。
使用 ImageSharp 进行图片压缩的基本步骤可能会像这样:
```csharp
using SixLabors.ImageSharp;
using SixLabors.ImageSharp.Processing;
// 加载图片
var image = await Image.LoadAsync(pathToImage);
// 设置质量或调整尺寸(这类似 Quality 参数)
var resizedImage = image.Resize(new Size(width, height));
// 使用特定的质量级别压缩
var encoderSettings = new JpegEncoder()
{
Quality = 90 // 可以设置为0-100之间的整数,越高质量越好
};
using (var outputStream = File.Create(pathToOutput))
{
resizedImage.SaveAsJpg(outputStream, encoderSettings);
}
阅读全文