PsdImage und
Layer konzentriert, und Python Entwicklern programmgesteuerten Zugriff auf die Struktur eines PSD-Dokuments ohne
native Abhängigkeiten zum Kompilieren ermöglicht. Die Bibliothek liest die Abmessungen, den Farbmodus, die Bit-Tiefe und die Komprimierungsmethode einer PSD/PSB-Datei,
und stellt jede Ebene über PsdImage.layers bereit: jeder Layer gibt seinen Namen,
Begrenzungen, Deckkraft, Sichtbarkeit und den BlendMode-Schlüssel (BlendMode) sowie niedrigere
Kanalinformationen (ChannelInformation) und Maskendaten (LayerMaskData). Ein Teil der
Ebenen-Metadaten — Name, Begrenzungen (left/top/right/bottom) und Blend-Mode — kann
vor Ort modifiziert und mit PsdImage.save() wieder auf die Festplatte geschrieben werden; alles andere auf der
Oberfläche ist per Design in diesem FOSS-Build schreibgeschützt. Aspose.PSD FOSS for Python ist MIT-lizenziert. Installieren Sie es mit
pip install aspose-psd-foss — die Bibliothek hat keinerlei Drittanbieter-Native-
Abhängigkeiten, nur die Python Standardbibliothek. Für die Unternehmens-Produktfamilie siehe Aspose.PSD — Enterprise Product Family.Image.load(file_path) öffnet eine Datei und gibt eine PsdImage-Instanz zurückPsdImage.width, height und channels_count geben die Canvas-Abmessungen und die Kanalanzahl ausPsdImage.layers gibt die vollständige Liste der Layer-Objekte in Dokumentenreihenfolge zurückPsdImage.layers gibt jedes Layer in Dokumentreihenfolge zurück; jedes Layer stellt name, bounds, opacity, is_visible und blend_mode_key bereitLayer.channel_information stellt Kanal-Metadaten für tiefere Inspektion bereitLayer.channels_count gibt an, wie viele Bildkanäle ein Layer trägtPsdImage.layers selbst kann neu zugewiesen werden, um Layer zu entfernen oder neu zu ordnenLayer.name, Layer.left/top/right/bottom und Layer.blend_mode_key können direkt gesetzt werdenPsdImage.save(file_path) speichert das geänderte Dokument wieder auf die FestplattePsdImage.load bestätigt, dass die Änderungen korrekt round-trip durchgeführt werdenNotSupportedException aus, wenn sie gesetzt werden — dieser Build unterstützt nur Metadaten-Änderungen, nicht die vollständige NeuauthorisierungLayer.channel_information stellt pro-Kanal-Metadaten-Sammlungen bereitLayer.has_mask_data und has_blending_ranges_data geben an, ob optionale Abschnitte vorhanden sindPsdLoadException und PsdSaveException zeigen Lade-/Speicherfehler mit klaren Meldungen anLaden Sie eine Datei mit Image.load, um eine PsdImage-Instanz für PSD-spezifische Member zu erhalten.
from aspose_psd_foss.image import Image
with Image.load("test.psd") as image:
print(f"Width: {image.width}, Channels: {image.channels_count}, Layers: {len(image.layers)}")
Ebenenbegrenzungen und Mischmodus können direkt geändert und wieder auf die Festplatte gespeichert werden.
from aspose_psd_foss.psdimage import PsdImage
from aspose_psd_foss.layers.blendmode import BlendMode
with PsdImage.load("test.psd") as image:
image.layers[0].left = 10
image.layers[0].top = 20
image.layers[0].right = 40
image.layers[0].bottom = 60
image.layers[0].blend_mode_key = BlendMode.MULTIPLY
image.save("edited.psd")
with PsdImage.load("edited.psd") as reloaded:
print(f"Bounds: {reloaded.layers[0].bounds}, BlendMode: {reloaded.layers[0].blend_mode_key}")
Kanalinformationen können gelesen, aber nicht neu zugewiesen werden — ein Versuch, sie zu setzen, löst NotSupportedException aus.
from aspose_psd_foss.psdimage import PsdImage
with PsdImage.load("test.psd") as image:
layer = image.layers[0]
channel_information = layer.channel_information
print(f"Channel count: {layer.channels_count}, first channel: `NotSupportedException`")
# layer.channel_information = channel_information # raises NotSupportedException
Aspose.PSD FOSS for Python ist MIT-lizenziert. Sie können es verwenden, modifizieren und unter den Bedingungen der MIT-Lizenz weiterverbreiten, auch in kommerziellen Produkten.
Siehe den Installationsabschnitt oben für den aktuellen Installationsbefehl.
Es lädt und speichert PSD- und PSB-Dateien (Photoshop large document). Es rendert oder exportiert keine Pixeldaten in andere Rasterformate wie PNG oder JPEG.
PsdImage (eine Unterklasse von Image). Laden Sie ein Dokument mit PsdImage.load, dann lesen Sie seine layers-Sammlung und Header-Eigenschaften.
Ja — Layer stellt einen funktionierenden Setter für mehrere Eigenschaften bereit, wie Sichtbarkeit und Name, und PsdImage.layers selbst hat einen funktionierenden Setter zum Ersetzen der Sammlung. Einige spezifische Eigenschaften (Kanalinformationen, Maskendaten, Mischbereiche und einige dokumentenbezogene Ressourcen) sind in diesem FOSS-Build schreibgeschützt und lösen NotSupportedException aus, wenn sie gesetzt werden.