ImageSharp 在 Core 2.2 中的图像上绘制形状

ImageSharp drawing shapes on image in Core 2.2

我在我的 .Net Core 2.2 项目中使用 ImageSharp(版本 1.0.0-beta0006)。我主要用它来调整图像大小(生成缩略图)并且工作正常。

最近有个需求,需要在图片上画矩形。基于 the documentation,这就是我要做的:

using (var image = new Image<Rgba32>(800, 800))
        {
            image.Mutate(x => x.DrawLines(
                Rgba32.HotPink,
                10,
                new SixLabors.Primitives.PointF[] {
                    new Vector2(10, 10),
                    new Vector2(550, 50),
                    new Vector2(200, 400)
                }));

            using (var stream = new MemoryStream())
            {
                image.SaveAsBmp(stream);
            }
        }

但是,我意识到在我的 Mutate lambda 方法中没有名为 DrawLines 的方法。我可以知道我是否缺少程序集吗?根据文档,它是 using:

using SixLabors.ImageSharp.Processing;
using SixLabors.ImageSharp.PixelFormats;

两者都可以在 SixLabors.ImageSharp 包中找到。

安装 SixLabors.ImageSharp.Drawing,您应该能够找到丢失的 methods/extensions。

Image sharp 分为 2 个主要库,主要的 SixLabors.ImageSharp 处理核心图像 decoding/encoding 和像素推送,然后是 SixLabors.ImageSharp.Drawing 处理各种绘图子系统、矢量图、文字渲染等