Kern API

Kern-API

PsdImage ist der Einstiegspunkt zum Laden, Inspizieren und Speichern von PSD/PSB Dokumenten. Es erweitert die abstrakte Basisklasse Image, die nur load() deklariert – der Rest der Dokumentoberfläche (width, height, save(), Kontext-Manager-Unterstützung) ist direkt in PsdImage definiert und wird nicht vererbt.


Laden und Speichern von Dokumenten

Image.load() akzeptiert einen Dateipfad oder einen Stream und gibt ein Image zurück; für PSD/PSB Eingaben ist dies immer ein PsdImage, sodass die Dokumentoberfläche sofort verfügbar ist, ohne expliziten Cast. PsdImage unterstützt zudem die with Anweisung für automatische Bereinigung, und PsdImage.save() schreibt das Dokument zurück zu einem Dateipfad oder Stream.

from aspose_psd_foss.psdimage import PsdImage

with PsdImage.load(input_path) as image:
    # ... inspect or edit ...
    image.save(output_path)

Dokumentkopf-Eigenschaften

PsdImage stellt den geparsten Header als typisierte Eigenschaften bereit: width, height, bits_per_channel, color_mode, version, compression, size und is_flatten.

print(f"Width: {image.width}, Height: {image.height}")
print(f"ColorMode: {image.color_mode}, Version: {image.version}")
print(f"Compression: {image.compression}, IsFlatten: {image.is_flatten}")

Bildressourcen

PsdImage.image_resources gibt die geparste Liste von ResourceBlock Objekten zurück. In diesem FOSS-Build können image_resources, global_layer_resources, active_layer und has_transparency_data gelesen, aber nicht neu zugewiesen werden – ihre Setter lösen NotSupportedException aus.

for resource in image.image_resources:
    print(f"Resource {resource.id}: {resource.name} ({resource.data_size} bytes)")

Tipps und bewährte Verfahren

  • Image.load() gibt bereits ein PsdImage für PSD/PSB Eingabe zurück — ein Cast ist nicht erforderlich, im Gegensatz zu einigen anderen Sprachportierungen dieser Bibliothek.
  • Verwenden Sie die with-Anweisung; PsdImage unterstützt das Kontextmanager-Protokoll für die Bereinigung.
  • Behandeln Sie image_resources, global_layer_resources, active_layer und has_transparency_data als schreibgeschützt, obwohl sie einen Setter bereitstellen.
  • Überprüfen Sie image.layer_count, bevor Sie auf image.layers indexieren — ein abgeflachtes Dokument kann keine Ebenen haben.

Häufige Probleme

ProblemUrsacheLösung
NotSupportedException beim Setzen von image_resourcesDiese Eigenschaft ist im FOSS-Build schreibgeschützt, obwohl sie einen Setter hatLese den Wert; versuche nicht, ihn neu zuzuweisen
Leere image.layers-Liste in einem abgeflachten Dokumentis_flatten ist True und das Dokument hat keine geparsten EbenenPrüfen Sie image.layer_count (oder image.is_flatten) bevor Sie in image.layers indizieren

FAQ

Wird beim Laden eines PSD-Dokuments die Pixeldaten dekodiert?

Nein. PsdImage.load() analysiert den Dokumentenkopf, die Ebenen-Metadaten und Ressourcen, ohne Pixel-Daten zu dekodieren oder zu rendern.

Kann ich eine PSD-Datei in ein anderes Bildformat konvertieren?

Nein. Diese Bibliothek lädt, inspiziert und speichert ausschließlich PSD/PSB-Dokumente — sie rendert keine Pixeldaten und konvertiert nicht in andere Bildformate.


API Reference Zusammenfassung

Klasse/MethodBeschreibung
Image.load(path) / Image.load(stream)Lädt ein PSD- oder PSB-Dokument
PsdImage.save(path) / PsdImage.save(stream)Speichert das Dokument
PsdImage.width / height / bits_per_channel / color_mode / version / compression / size / is_flattenDokumentkopf-Eigenschaften
PsdImage.image_resourcesGeparste Bildressourcenblöcke (schreibgeschützt)

Siehe auch

 Deutsch