Grafika i rysowanie

Grafika i rysowanie

Grafika i rysowanie

Aspose.PDF FOSS for .NET zawiera podsystem rysowania umożliwiający dodawanie grafiki wektorowej do stron PDF. Kontener Graph przechowuje elementy kształtów (Line, Arc, Circle) i jest dodawany do kolekcji Paragraphs strony.


Tworzenie kontenera wykresu

Graph definiuje obszar rysunkowy o określonej szerokości i wysokości.

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

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

Rysowanie linii

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

Rysowanie łuków i okręgów

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

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

Praca z kolorami

Klasa Color udostępnia metody fabryczne dla RGB, ARGB i nazwanych kolorów.

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

Rysowanie ścieżek

DrawingPath obsługuje MoveTo, LineTo, CurveTo i Close dla dowolnych kształtów wektorowych.

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

Formaty obrazu

ImageFormat udostępnia wartości wyliczeniowe dla formatów rastrowych używanych przy konwertowaniu stron na obrazy: Bmp, Jpeg, Png, Tiff, Gif.


Wskazówki i najlepsze praktyki

  • Ustaw wymiary wykresu tak, aby odpowiadały obszarowi, w którym chcesz rysować — współrzędne wewnątrz Graph są względne względem jego granic.
  • Użyj Color.FromArgb do półprzezroczystych wypełnień (obsługa kanału alfa).
  • Połącz wiele kształtów w jednym Graph dla efektywnego renderowania.
  • DrawingPath jest idealny dla złożonych krzywych Beziera i dowolnych kształtów wielokątów.
  • Dodaj Graph do kolekcji Paragraphs strony — nie dodawaj go do adnotacji.

Typowe problemy

ProblemPrzyczynaRozwiązanie
Kształt niewidocznyWymiary wykresu zbyt małe dla współrzędnych kształtuZwiększ Graph szerokość/wysokość lub skaluj współrzędne kształtu
Kolory wyglądają inaczej w przeglądarceNiepasująca przestrzeń kolorówUżyj Color.FromRgb z wartościami w zakresie 0.0‑1.0
Rysunek nakłada się na tekstWykres umieszczony w niewłaściwej pozycji w przepływie akapituDostosuj kolejność akapitów lub użyj FloatingBox do pozycjonowania absolutnego

Najczęściej zadawane pytania

Czy mogę rysować wypełnione kształty?

Tak. Ustaw właściwość GraphInfo.FillColor kształtu na wypełnienie jednolitym kolorem.

Jak umieścić wykres w określonych współrzędnych strony?

Umieść Graph w FloatingBox i ustaw jego Left oraz Top właściwości dla pozycjonowania absolutnego.

Czy biblioteka obsługuje gradienty?

Klasy Shading obsługują podstawowe wzory cieniowania. Użyj DrawingPath z cieniowaniem dla wypełnień gradientowych.


Podsumowanie odniesień API

Klasa / MetodaOpis
GraphKontener dla rysowalnych kształtów, dodawany do akapitów strony
LineProsta linia pomiędzy dwoma lub większą liczbą punktów
ArcŁuk kołowy określony przez środek, promień i kąty
CircleKształt koła określony przez środek i promień
DrawingPathŚcieżka dowolnego kształtu z poleceniami MoveTo, LineTo, CurveTo, Close
ColorWartość koloru z RGB, ARGB i metodami fabrycznymi
Color.FromRgbUtwórz kolor z komponentów RGB
Color.FromArgbUtwórz kolor z przezroczystością alfa
GraphicElementCollectionZbiór elementów graficznych na stronie
ImageFormatWyliczenie formatów obrazów rastrowych (Bmp, Jpeg, Png, Tiff, Gif)

Zobacz także

 Polski