Графика и чертане

Графика и чертане

Графика и чертане

Aspose.PDF FOSS for .NET включва подсистема за рисуване за добавяне на вектор графики към PDF страници. Контейнерът Graph съдържа елементи на форма (Line, Arc, Circle) и се добавя към колекцията Paragraphs на страницата.


Създаване на графичен контейнер

Graph определя рисувана област с определена ширина и височина.

using var doc = new Document();
var page = doc.Pages.Add();

var graph = new Graph(400, 200);
page.Paragraphs.Add(graph);

Рисуване на линии

var line = new Line(new float[] { 0, 0, 300, 100 });
graph.Shapes.Add(line);

Рисуване на дъги и окръжности

var arc = new Arc(150, 100, 80, 0, 180);
graph.Shapes.Add(arc);

var circle = new Circle(150, 100, 50);
graph.Shapes.Add(circle);

Работа с цветове

Класът Color предоставя фабрични методи за RGB, ARGB и именувани цветове.

var red = Color.FromRgb(1.0, 0.0, 0.0);
var semiTransparent = Color.FromArgb(128, 0, 0, 255);

Рисуване на пътища

DrawingPath поддържа MoveTo, LineTo, CurveTo и Close за свободнооформени векторни форми.

var path = new DrawingPath();
path.MoveTo(10, 10);
path.LineTo(100, 10);
path.CurveTo(150, 50, 150, 100, 100, 100);
path.Close();

Формати на изображения

ImageFormat предоставя изброени стойности за растерни формати, използвани при конвертиране на страници в изображения: Bmp, Jpeg, Png, Tiff, Gif.


Съвети и най‑добри практики

  • Задайте размерите на графиката, за да съответстват на областта, в която искате да рисувате — координатите в Graph са относителни спрямо нейните граници.
  • Използвайте Color.FromArgb за полупрозрачни запълнения (поддръжка на алфа канал).
  • Комбинирайте няколко форми в един Graph за ефективно рендериране.
  • DrawingPath е идеален за сложни Безие криви и произволни полигонални форми.
  • Добавете Graph към колекцията Paragraphs на страницата — не я добавяйте към анотациите.

Чести проблеми

ПроблемПричинаРешение
Фигурата не се виждаРазмерите на графиката са твърде малки за координатите на фигуратаУвеличете Graph ширина/височина или мащабирайте координатите на фигурата
Цветовете изглеждат различно в прегледаНесъответствие на цветовото пространствоИзползвайте Color.FromRgb със стойности в диапазона 0.0-1.0
Рисункът се припокрива с текстаГрафиката е поставена на грешна позиция в потока на абзацаКоригирайте подредбата на абзаците или използвайте FloatingBox за абсолютно позициониране

ЧЗВ

Мога ли да рисувам запълнени форми?

Да. Задайте свойството GraphInfo.FillColor на формата да се запълни с плътен цвят.

Как да позиционирам графика на конкретни координати на страницата?

Опаковайте Graph в FloatingBox и задайте неговите свойства Left и Top за абсолютно позициониране.

Поддържа ли библиотеката градиенти?

Класовете Shading поддържат основни модели на сенки. Използвайте DrawingPath със сенки за градиентни запълвания.


API Обобщение на справочника

Клас / МетодОписание
GraphКонтейнер за рисуеми форми, добавен към абзаците на страницата
LineПраволинейна линия между две или повече точки
ArcКръгов дъга, определена от център, радиус и ъгли
CircleКръгова форма, определена от център и радиус
DrawingPathСвободен път с MoveTo, LineTo, CurveTo, Close
ColorЦветова стойност с RGB, ARGB и фабрични методи
Color.FromRgbСъздаване на цвят от RGB компоненти
Color.FromArgbСъздаване на цвят с алфа прозрачност
GraphicElementCollectionКолекция от графични елементи на страница
ImageFormatИзброяване на растерни формати за изображения (Bmp, Jpeg, Png, Tiff, Gif)

Вижте също

 Български