`ImageSharp` 是一个现代化、跨平台的 .NET 图像处理库

70 阅读1分钟

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 官网