====== std.pdf.image ======
Rasterbilder in PDF-Seiten einbetten: rohe Pixel als XObject registrieren und an beliebiger Position skaliert ausgeben. Wer eine **Datei** einbetten will, nimmt ''PdfAddImageFile'' aus [[lyx_-_programmiersprache:units:pdf:imagefile|std.pdf.imagefile]].
→ [[lyx_-_programmiersprache:units:pdf|std.pdf]] · [[lyx_-_programmiersprache:units:pdf:graphics|std.pdf.graphics]] · [[lyx_-_programmiersprache:units:pdf:page|std.pdf.page]]
----
===== Verwendung =====
import std.pdf.image;
// Rohe Pixel einbetten: Zeiger, Breite, Hoehe, Kanaele.
// channels: 1 = Graustufen (DeviceGray), 3 = RGB (DeviceRGB) — mehr nicht.
var img: int64 := PdfAddImage(doc, pixels, 320, 200, 3);
// Ausgeben: Position und Groesse in PUNKTEN, nicht in Pixeln
PdfDrawImage(doc, page, img, 72.0, 750.0, 120.0, 40.0);
> **Frühere Fassungen dieser Seite nannten ''PdfAddImageJpeg'', ''PdfImageWidth'' und ''PdfImageHeight'' — die gibt es nicht**, und ''PdfAddImage'' nahm dort einen Pfad statt eines Pixelzeigers. Nachgemessen mit ''lyxc 1.1.16A'' gegen ''std/pdf/image.lyx''.
>
> Die Originalgröße eines Bildes führt die Unit nicht mit; wer proportional skalieren will, merkt sich Breite und Höhe selbst — beim Laden über [[lyx_-_programmiersprache:units:pdf:imagefile|std.pdf.imagefile]] stehen sie ohnehin im Decoder.
----
===== Funktionen =====
^ Signatur ^ Rückgabe ^ Beschreibung ^
| ''PdfAddImage(doc: int64, data: int64, pw: int64, ph: int64, channels: int64): int64'' | Bildindex ab 0, oder ''-1'' | Rohe Pixel als XObject registrieren. ''data'' zeigt auf die Bytes (zeilenweise, **unterste Zeile zuerst** — PDF-Koordinaten); ''channels'' ist 1 oder 3. Höchstens 16 Bilder je Dokument |
| ''PdfDrawImage(doc: int64, page: int64, imgIdx: int64, x: f64, y: f64, wPts: f64, hPts: f64): void'' | — | Bild an (x, y) mit Breite und Höhe in **Punkten** ausgeben |
Die Pixel werden beim Registrieren komprimiert in das Dokument kopiert — der übergebene Puffer darf danach freigegeben werden.
Letzte Aktualisierung: 2026-09-01 — Signaturen gegen ''std/pdf/image.lyx'' berichtigt (''PdfAddImageJpeg'', ''PdfImageWidth'' und ''PdfImageHeight'' gibt es nicht; ''PdfAddImage'' nimmt einen Pixelzeiger, keinen Pfad) und auf [[lyx_-_programmiersprache:units:pdf:imagefile|std.pdf.imagefile]] verwiesen.
Vorherige Aktualisierung: 2026-05-22