Grafik und Zeichnen
Grafik und Zeichnung
Aspose.PDF FOSS for .NET enthält ein Zeichen‑Subsystem zum Hinzufügen von Vektorgrafiken zu PDF‑Seiten. Der Graph‑Container enthält Shape‑Elemente (Line, Arc, Circle) und wird zur Paragraphs‑Sammlung einer Seite hinzugefügt.
Erstellen eines Diagrammcontainers
Graph definiert einen zeichnungsfähigen Bereich mit einer angegebenen Breite und Höhe.
using var doc = new Document();
var page = doc.Pages.Add();
var graph = new Graph(400, 200);
page.Paragraphs.Add(graph);Linien zeichnen
var line = new Line(new float[] { 0, 0, 300, 100 });
graph.Shapes.Add(line);Zeichnen von Bögen und Kreisen
var arc = new Arc(150, 100, 80, 0, 180);
graph.Shapes.Add(arc);
var circle = new Circle(150, 100, 50);
graph.Shapes.Add(circle);Arbeiten mit Farben
Die Color Klasse bietet Fabrikmethoden für RGB, ARGB und benannte Farben.
var red = Color.FromRgb(1.0, 0.0, 0.0);
var semiTransparent = Color.FromArgb(128, 0, 0, 255);Zeichnungspfade
DrawingPath unterstützt MoveTo, LineTo, CurveTo und Close für Freiform‑Vektorformen.
var path = new DrawingPath();
path.MoveTo(10, 10);
path.LineTo(100, 10);
path.CurveTo(150, 50, 150, 100, 100, 100);
path.Close();Bildformate
ImageFormat stellt Aufzählungswerte für Rasterformate bereit, die beim Konvertieren von Seiten zu Bildern verwendet werden: Bmp, Jpeg, Png, Tiff, Gif.
Tipps und bewährte Verfahren
- Stellen Sie die Diagrammdimensionen so ein, dass sie dem Bereich entsprechen, in dem Sie zeichnen möchten — Koordinaten innerhalb
Graphsind relativ zu dessen Grenzen. - Verwenden Sie
Color.FromArgbfür halbtransparente Füllungen (Unterstützung des Alphakanals). - Kombinieren Sie mehrere Formen in einem einzigen
Graphfür effizientes Rendering. DrawingPathist ideal für komplexe Bézier‑Kurven und beliebige Polygonformen.- Fügen Sie das
GraphzurParagraphs‑Sammlung der Seite hinzu — fügen Sie es nicht zu Anmerkungen hinzu.
Häufige Probleme
| Problem | Ursache | Lösung |
|---|---|---|
| Form nicht sichtbar | Grafikabmessungen zu klein für die Formkoordinaten | Erhöhen Sie die Breite/Höhe von Graph oder skalieren Sie die Formkoordinaten |
| Farben erscheinen im Viewer anders | Farbraum stimmt nicht überein | Verwenden Sie Color.FromRgb mit Werten im Bereich 0.0‑1.0 |
| Zeichnung überlappt Text | Grafik an falscher Position im Absatzfluss platziert | Passen Sie die Absatzreihenfolge an oder verwenden Sie FloatingBox für absolute Positionierung |
FAQ
Kann ich gefüllte Formen zeichnen?
Ja. Setzen Sie die GraphInfo.FillColor‑Eigenschaft der Form auf eine einfarbige Füllung.
Wie positioniere ich ein Diagramm an bestimmten Seitenkoordinaten?
Umwickeln Sie Graph in einem FloatingBox und setzen Sie dessen Left‑ und Top‑Eigenschaften für die absolute Positionierung.
Unterstützt die Bibliothek Verläufe?
Die Shading Klassen unterstützen grundlegende Schattierungsmuster. Verwenden Sie DrawingPath mit Schattierung für Farbverläufe.
API-Referenzübersicht
| Klasse / Methode | Beschreibung |
|---|---|
Graph | Container für zeichnbare Formen, hinzugefügt zu Seitenabsätzen |
Line | Gerade Linie zwischen zwei oder mehr Punkten |
Arc | Kreisbogen definiert durch Mittelpunkt, Radius und Winkel |
Circle | Kreisform definiert durch Mittelpunkt und Radius |
DrawingPath | Freiformpfad mit MoveTo, LineTo, CurveTo, Close |
Color | Farbwert mit RGB, ARGB und Fabrikmethoden |
Color.FromRgb | Erstelle eine Farbe aus RGB-Komponenten |
Color.FromArgb | Erstelle eine Farbe mit Alpha-Transparenz |
GraphicElementCollection | Sammlung von Grafikelementen auf einer Seite |
ImageFormat | Aufzählung von Rasterbildformaten (Bmp, Jpeg, Png, Tiff, Gif) |