ImageSharp 是一个现代化、跨平台的 .NET 图像处理库,由 SixLabors 团队开发。它完全用 C# 编写,不依赖系统原生组件,支持在 Windows、Linux、macOS 等环境下进行高效的图片读写、编辑和转换操作。
主要特点:
- 支持多种图片格式(如 PNG、JPEG、GIF、BMP、WebP 等)
- 提供裁剪、缩放、旋转、滤镜、格式转换等丰富的图像处理功能
- 线程安全,易于集成到 ASP.NET Core、桌面应用等
- 支持流式处理和高性能操作
用法举例:图片缩放与保存
1. 安装 NuGet 包
dotnet add package SixLabors.ImageSharp
2. 代码示例
using SixLabors.ImageSharp;
using SixLabors.ImageSharp.Processing;
using SixLabors.ImageSharp.Formats.Jpeg;
using System.IO;
class Program
{
static void Main()
{
// 加载图片
using var image = Image.Load("input.jpg");
// 缩放图片到宽400,高自动等比
image.Mutate(x => x.Resize(400, 0));
// 保存为新文件
image.Save("output.jpg", new JpegEncoder { Quality = 80 });
// 也可以保存为其他格式
// image.Save("output.png");
}
}
说明:
Image.Load支持从文件、流等多种方式加载图片。Mutate方法链式调用各种处理操作,如缩放、裁剪、旋转等。Save方法可指定格式和参数(如 JPEG 质量)。- 适合用于 Web 图片处理、批量图片转换、生成缩略图等场景。
更多用法可参考官方文档:ImageSharp 官网。