ImageSharp рисование фигур на изображении в Core 2.2 - PullRequest
0 голосов
/ 02 июля 2019

Я использую ImageSharp (версия 1.0.0-beta0006) в моем проекте .Net Core 2.2. Я в основном использую его для изменения размера изображения (для создания миниатюр), и он работает нормально.

Недавно у меня появилось требование рисовать прямоугольники на изображении. Основываясь на документации , вот что мне нужно сделать:

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 лямбда-методах нет метода с именем DrawLines. Могу ли я узнать, пропустил ли я сборку? На основании документации это using:

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

оба находятся в пакете SixLabors.ImageSharp.

1 Ответ

1 голос
/ 02 июля 2019

Установите SixLabors.ImageSharp.Drawing, и вы сможете найти отсутствующие методы / расширения.

Изображение четкое разделено на 2 основные библиотеки, основную SixLabors.ImageSharp, которая занимается декодированием / кодированием основного изображения и проталкиванием пикселей, а затем SixLabors.ImageSharp.Drawing, которая обрабатывает различные подсистемы рисования, векторную графику, рендеринг текста и т. Д.

...