我正在使用 ImageSharp
(ver 1.0.0-beta0006) 在我的 .Net Core 2.2 项目中。我主要用它来调整图像大小(生成缩略图)并且它工作正常。
最近,我需要在图像上绘制矩形。基于 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
并且您应该能够找到缺少的方法/扩展。
ImageSharp被分成2个主库,主库SixLabors.ImageSharp
处理核心图像解码/编码和像素推送,然后是 SixLabors.ImageSharp.Drawing
它处理各种绘图子系统,矢量绘图,文本渲染等。
关于c# - ImageSharp 在 Core 2.2 中的图像上绘制形状,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56846155/