Core API
Alap API
PsdImage a belépési pont a PSD/PSB dokumentumok betöltéséhez, ellenőrzéséhez és mentéséhez. Kiterjeszti az absztrakt Image alaposztályt, amely csak a load()-t deklarálja — a dokumentum felületének többi része (width, height, save(), a context-manager támogatás) a PsdImage saját magján van definiálva, nem öröklődik.
Dokumentumok betöltése és mentése
Image.load() fájlútvonalat vagy streame-et fogad el, és visszaad egy Image-t; PSD/PSB bemenet esetén ez mindig egy PsdImage, így a dokumentum felülete azonnal elérhető explicit átkonvertálás nélkül. PsdImage támogatja a with utasítást az automatikus takarításra, és PsdImage.save() visszaírja a dokumentumot egy fájlútvonalra vagy streame-re.
from aspose_psd_foss.psdimage import PsdImage
with PsdImage.load(input_path) as image:
# ... inspect or edit ...
image.save(output_path)Dokumentumfejléc tulajdonságai
PsdImage a feldolgozott fejlécet típusosított tulajdonságokként teszi elérhetővé: width, height, bits_per_channel, color_mode, version, compression, size és 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}")Kép erőforrások
PsdImage.image_resources visszaadja a feldolgozott ResourceBlock objektumok listáját. Ebben a FOSS buildben a image_resources, global_layer_resources, active_layer és has_transparency_data olvasható, de nem írható újra – a setterjeik NotSupportedException-t dobnak.
for resource in image.image_resources:
print(f"Resource {resource.id}: {resource.name} ({resource.data_size} bytes)")Tippek és bevált gyakorlatok
Image.load()már visszaad egyPsdImagea PSD/PSB bemenethez — nincs szükség átkonvertálásra, ellentétben a könyvtár egyes más nyelvi portjaival.- Használd a
withutasítást; aPsdImagetámogatja a kontextuskezelő protokollt a takarításhoz. - Kezeld a
image_resources,global_layer_resources,active_layeréshas_transparency_dataelemeket csak olvashatóként, még ha setter-t is biztosítanak. - Ellenőrizd a
image.layer_countértékét, mielőtt indexelnél aimage.layers-be — egy laposított dokumentumnak lehet, hogy nulla rétege van.
Gyakori problémák
| Probléma | Ok | Javítás |
|---|---|---|
NotSupportedException a(z) image_resources beállításakor | Ez a tulajdonság csak olvasható a FOSS buildben, annak ellenére, hogy van beállítója. | Olvasd ki az értéket; ne próbáld meg újra hozzárendelni. |
Üres image.layers lista egy lapított dokumentumban. | is_flatten True és a dokumentumnak nincs feldolgozott rétege. | Ellenőrizze a(z) image.layer_count (vagy image.is_flatten) indexelés előtt a(z) image.layers |
FAQ
A PSD dokumentum betöltése dekódolja a pixeladatokat?
Nem. PsdImage.load() a dokumentumfejlécet, a réteg metaadatait és az erőforrásokat elemzi, anélkül hogy dekódolná vagy megjelenítené a képadatokat.
Átkonvertálhatok egy PSD fájlt egy másik képformátumba?
Nem. Ez a könyvtár csak PSD/PSB dokumentumokat tölt be, vizsgál meg és ment — nem jeleníti meg a képadatokat, és nem konvertál más képformátumokra.
API Reference összefoglaló
| Osztály/Módszer | Leírás |
|---|---|
Image.load(path) / Image.load(stream) | Betölti a PSD vagy PSB dokumentumot |
PsdImage.save(path) / PsdImage.save(stream) | Mentés a dokumentumot |
PsdImage.width / height / bits_per_channel / color_mode / version / compression / size / is_flatten | Dokumentumfejléc tulajdonságai |
PsdImage.image_resources | Feldolgozott kép erőforrás blokkok (csak olvasható) |