Как заполнить форму рисунком при создании PDF? - PullRequest
0 голосов
/ 29 октября 2018

Я использую PDFsharp для рисования фигур в PDF. К сожалению, я не могу найти какую-либо информацию о заполнении фигур с помощью специального рисунка, в данном случае 45-градусных полос.

Stripes

Полагаю, для этого нет доступных инструментов. Как я могу добиться того же эффекта?

Возможным решением может быть обрезка нарисованных вручную линий или использование библиотеки, которая не является PDFsharp, но я просто догадываюсь на данный момент.

1 Ответ

0 голосов
/ 29 октября 2018

Создайте путь для фигуры. Затем просто заполните прямоугольник, который окружает фигуру нужным вам рисунком.

См. «Обрезать путь» в графическом образце:
http://www.pdfsharp.net/wiki/Graphics-sample.ashx#Clip_through_path_16

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

XGraphicsPath path = new XGraphicsPath();
path.AddString("Clip!", new XFontFamily("Verdana"), XFontStyle.Bold, 90, 
    new XRect(0, 0, 250, 140), XStringFormats.Center);

gfx.IntersectClip(path);

// Draw a beam of dotted lines
XPen pen = XPens.DarkRed.Clone();
pen.DashStyle = XDashStyle.Dot;
for (double r = 0; r <= 90; r += 0.5)
    gfx.DrawLine(pen, 0, 0, 
        250 * Math.Cos(r / 90 * Math.PI), 250 * Math.Sin(r / 90  Math.PI));
...