Die Fassade über allen Format-Units — für neun von zehn Fällen die einzige Unit, die man importieren muss. ImageDecode erkennt das Format selbst und ruft den passenden Dekoder auf; ImageDecodeFromMem tut dasselbe für einen bereits geladenen Puffer.
Die Accessoren ImageGetWidth, ImageGetHeight, ImageGetChannels und ImagePixelAt ersparen den Umgang mit den Struct-Offsets aus std.image.core.
Es gibt keine Encoder. Bilder werden gelesen, analysiert und programmatisch erzeugt — gespeichert wird nicht.
Wer nur ein Format braucht, importiert dessen Unit direkt (std.image.png); das spart Übersetzungszeit und unnötige Abhängigkeiten.
std.image — Übersicht · Bildverarbeitung · Standard Library
| Signatur |
|---|
ImageDecodeFromMem(buf: int64, len: int64, img: int64): int64 |
ImageDecode(path: int64, plen: int64, img: int64): int64 |
ImageFree(img: int64): void |
ImageGetWidth(img: int64): int64 |
ImageGetHeight(img: int64): int64 |
ImageGetChannels(img: int64): int64 |
ImagePixelAt(img: int64, x: int64, y: int64): int64 |
import std.image.image;
import std.image.core;
import std.io;
fn main(): int64 {
var img: int64 := GrfImageAlloc(0, 0);
if (ImageDecode("foto.jpg"c, 0, img) == 0) {
PrintLn("Laden fehlgeschlagen");
GrfImageFree(img);
return 1;
}
var w: int64 := ImageGetWidth(img);
var h: int64 := ImageGetHeight(img);
var px: int64 := ImagePixelAt(img, w / 2, h / 2); // 0xRRGGBBAA
ImageFree(img);
return 0;
}
Quelle: std/image/image.lyx · geprüft mit lyxc 1.0.21A · Stand 2026-08-12
Codebeispiele geprüft: gegen lyxc 1.2.5C übersetzt (Prüflauf 2026-09-08 über die gesamte Doku: 574 Vollprogramme, 0 echte Fehler; zusätzlich 5159 Aufrufe gegen die pub fn-Signaturen in aurum/std gehalten, 0 Abweichungen).
Letzte Aktualisierung: 2026-08-30 (Dateistand)