std.pdf.image
Rasterbilder in PDF-Seiten einbetten: PNG und JPEG laden, als XObject registrieren und an beliebiger Position auf der Seite skaliert ausgeben. Unterstützte Formate: PNG (mit Alpha-Kanal), JPEG (RGB und Graustufen).
→ std.pdf · std.pdf.graphics · std.pdf.page
Verwendung
import std.pdf.image;
// Rohdaten einbetten: Zeiger, Breite, Höhe, Kanäle (3 = RGB, 4 = RGBA).
// Einen Datei-Lader gibt es in dieser Unit nicht.
var img: int64 := PdfAddImage(doc, pixels, 320, 200, 3);
PdfDrawImage(doc, page, img, 72.0, 750.0, 120.0, 40.0);
// JPEG einbetten
var photo: PdfImage := PdfAddImageJpeg(doc, "photo.jpg");
PdfDrawImage(doc, page, photo, 72.0, 500.0, 300.0, 200.0);
// Bild skaliert (Breite angeben, Höhe proportional)
var w: f64 := 200.0;
var h: f64 := PdfImageHeight(img) * (w / PdfImageWidth(img));
PdfDrawImage(doc, page, img, 72.0, 600.0, w, h);
Funktionen
| Signatur | Sichtbarkeit | Beschreibung |
|---|---|---|
PdfAddImage(doc: Pdf, path: pchar): PdfImage | pub | Lädt PNG-Datei und registriert sie als XObject |
PdfAddImageJpeg(doc: Pdf, path: pchar): PdfImage | pub | Lädt JPEG-Datei und registriert sie als XObject |
PdfDrawImage(page: PdfPage, img: PdfImage, x: f64, y: f64, w: f64, h: f64): void | pub | Gibt Bild an Position (x, y) mit Breite w und Höhe h aus |
PdfImageWidth(img: PdfImage): f64 | pub | Gibt Originalbreite des Bildes in Pixeln zurück |
PdfImageHeight(img: PdfImage): f64 | pub | Gibt Originalhöhe des Bildes in Pixeln zurück |
Letzte Aktualisierung: 2026-05-22
