Графіка та малювання
Графіка та малювання
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сторінки — не додавайте його до анотацій.
Поширені проблеми
| Issue | Cause | Fix |
|---|---|---|
| Фігура не відображається | Розміри графіка занадто малі для координат фігури | Збільште Graph ширину/висоту або масштабуйте координати фігури |
| Кольори виглядають по‑різному у переглядачі | Несумісність колірного простору | Використовуйте Color.FromRgb зі значеннями в діапазоні 0.0‑1.0 |
| Малюнок перекриває текст | Графік розташований у неправильному місці в потоці абзацу | Відкоригуйте порядок абзаців або використайте FloatingBox для абсолютного позиціонування |
FAQ
Чи можу я малювати заповнені форми?
Так. Встановіть властивість 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) |