====== std.pdf.graphics ====== Content-Stream-Operatoren für PDF-Seiten: Text ausgeben (''PdfDrawText'', ''PdfSetFont''), Pfade zeichnen (Linien, Rechtecke, Kreise), Farben setzen (RGB, Graustufen), Transformationsmatrix manipulieren und Grafikzustand speichern/wiederherstellen. Alle Koordinaten in PDF-Punkten (1/72 Zoll; 1 cm ≈ 28,35 pt). Einsatzbereiche: alles was sichtbarer Seiteninhalt ist — Texte, Tabellen, Logos, Diagramme, Seitenrahmen. → [[lyx_-_programmiersprache:units:pdf|std.pdf]] · [[lyx_-_programmiersprache:units:pdf:fonts|std.pdf.fonts]] · [[lyx_-_programmiersprache:units:pdf:image|std.pdf.image]] ---- ===== Schriften ===== import std.pdf.graphics; // Schrift und Größe setzen PdfSetFont(page, PDF_FONT_HELVETICA, 12); PdfSetFont(page, PDF_FONT_TIMES_ROMAN, 10); PdfSetFont(page, PDF_FONT_COURIER, 9); PdfSetFont(page, PDF_FONT_HELVETICA_BOLD, 14); // Text ausgeben (Koordinatenursprung: links unten) PdfDrawText(page, 72.0, 720.0, "Überschrift"); PdfDrawTextAt(page, 72.0, 700.0, "Zeile 2", 0.0); // 0.0 = kein Rotation ---- ===== Farben ===== // RGB-Farbe (0.0–1.0) PdfSetColor(page, 0.2, 0.4, 0.8); // Blau PdfSetColor(page, 0.0, 0.0, 0.0); // Schwarz PdfSetFillColor(page, 0.95, 0.95, 0.95); // Hellgrau-Füllung // Graustufenfarbe PdfSetGray(page, 0.5); // 50 % Grau ---- ===== Pfade und Geometrie ===== // Linie PdfDrawLine(page, 72.0, 710.0, 540.0, 710.0); // Rechteck (nur Rand) PdfDrawRect(page, 72.0, 600.0, 468.0, 100.0); // Rechteck gefüllt PdfFillRect(page, 72.0, 580.0, 468.0, 18.0); // Kreis / Ellipse PdfDrawCircle(page, 300.0, 400.0, 50.0); ---- ===== Grafikzustand ===== PdfSaveState(page); // gsave — Zustand sichern PdfSetColor(page, 1.0, 0.0, 0.0); PdfDrawRect(page, 100.0, 100.0, 200.0, 50.0); PdfRestoreState(page); // grestore — Zustand wiederherstellen ---- ===== Funktionen ===== ^ Signatur ^ Sichtbarkeit ^ Beschreibung ^ | ''PdfSetFont(page: PdfPage, font: pchar, size: f64): void'' | pub | Setzt aktive Schrift und Größe | | ''PdfDrawText(page: PdfPage, x: f64, y: f64, text: pchar): void'' | pub | Gibt Text an Position aus | | ''PdfSetColor(page: PdfPage, r: f64, g: f64, b: f64): void'' | pub | Setzt Strich- und Textfarbe (RGB) | | ''PdfSetFillColor(page: PdfPage, r: f64, g: f64, b: f64): void'' | pub | Setzt Füllfarbe (RGB) | | ''PdfSetGray(page: PdfPage, gray: f64): void'' | pub | Setzt Graustufenfarbe (0.0–1.0) | | ''PdfDrawLine(page: PdfPage, x1: f64, y1: f64, x2: f64, y2: f64): void'' | pub | Zeichnet Linie zwischen zwei Punkten | | ''PdfDrawRect(page: PdfPage, x: f64, y: f64, w: f64, h: f64): void'' | pub | Zeichnet Rechteck (nur Rand) | | ''PdfFillRect(page: PdfPage, x: f64, y: f64, w: f64, h: f64): void'' | pub | Zeichnet gefülltes Rechteck | | ''PdfDrawCircle(page: PdfPage, cx: f64, cy: f64, r: f64): void'' | pub | Zeichnet Kreis | | ''PdfSetLineWidth(page: PdfPage, w: f64): void'' | pub | Setzt Strichbreite in Punkten | | ''PdfSaveState(page: PdfPage): void'' | pub | Sichert aktuellen Grafikzustand | | ''PdfRestoreState(page: PdfPage): void'' | pub | Stellt gesicherten Grafikzustand wieder her | | ''PdfTranslate(page: PdfPage, tx: f64, ty: f64): void'' | pub | Verschiebt Koordinatenursprung | | ''PdfScale(page: PdfPage, sx: f64, sy: f64): void'' | pub | Skaliert Koordinatensystem | | ''PdfRotate(page: PdfPage, angle: f64): void'' | pub | Dreht Koordinatensystem (Grad) | Letzte Aktualisierung: 2026-05-22