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

时间:2019-07-02 05:56:39

标签: c# asp.net-core imagesharp

我在.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包中找到。

1 个答案:

答案 0 :(得分:1)

安装SixLabors.ImageSharp.Drawing,您应该能够找到缺少的方法/扩展名。

图像锐利分为两个主要的库,主要的SixLabors.ImageSharp处理核心图像的解码/编码和像素推送,然后还有SixLabors.ImageSharp.Drawing,用于处理各种绘图子系统,矢量绘图,文字渲染等。