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
处理各种绘图子系统、矢量图、文字渲染等
我在我的 .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
处理各种绘图子系统、矢量图、文字渲染等