====== 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