Kärna API
Kärn-API
PsdImage är ingångspunkten för att ladda, inspektera och spara PSD/PSB-dokument. Den utökar den abstrakta basklassen Image, som bara deklarerar load() — resten av dokumentytan (width, height, save(), stöd för context-manager) definieras på PsdImage själv, inte ärvd.
Laddning och sparande av dokument
Image.load() accepterar en filsökväg eller en ström och returnerar en Image; för PSD/PSB-inmatning är detta alltid en PsdImage, så dokumentytan är omedelbart tillgänglig utan en explicit cast. PsdImage stöder också with-uttrycket för automatisk rensning, och PsdImage.save() skriver tillbaka dokumentet till en filsökväg eller ström.
from aspose_psd_foss.psdimage import PsdImage
with PsdImage.load(input_path) as image:
# ... inspect or edit ...
image.save(output_path)Egenskaper för dokumenthuvud
PsdImage exponerar det analyserade huvudet som typade egenskaper: width, height, bits_per_channel, color_mode, version, compression, size och 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}")Bildresurser
PsdImage.image_resources returnerar den analyserade listan av ResourceBlock-objekt. I denna FOSS-byggnad kan image_resources, global_layer_resources, active_layer och has_transparency_data läsas men inte tilldelas om — deras setters kastar NotSupportedException.
for resource in image.image_resources:
print(f"Resource {resource.id}: {resource.name} ({resource.data_size} bytes)")Tips och bästa praxis
Image.load()returnerar redan enPsdImageför PSD/PSB inmatning — ingen typkonvertering behövs, till skillnad från vissa andra språkportar av detta bibliotek.- Använd
with-satsen;PsdImagestödjer kontext-hanterarprotokollet för städning. - Behandla
image_resources,global_layer_resources,active_layerochhas_transparency_datasom skrivskyddade även om de exponerar en set-metod. - Kontrollera
image.layer_countinnan du indexerar iimage.layers— ett plattat dokument kan ha noll lager.
Vanliga problem
| Problem | Orsak | Åtgärd |
|---|---|---|
NotSupportedException när du ställer in image_resources | Denna egenskap är skrivskyddad i FOSS-builden trots att den har en setter | Läs värdet; försök inte att tilldela det på nytt |
Tom image.layers-lista på ett plattat dokument | is_flatten är True och dokumentet har inga parsade lager | Kontrollera image.layer_count (eller image.is_flatten) innan du indexerar i image.layers |
FAQ
Avkodar inläsning av ett PSD-dokument pixeldata?
Nej. PsdImage.load() analyserar dokumenthuvudet, lagermetadata och resurser utan att avkoda eller rendera bilddata.
Kan jag konvertera en PSD-fil till ett annat bildformat?
Nej. Detta bibliotek laddar, granskar och sparar endast PSD/PSB-dokument — det renderar inte bilddata eller konverterar till andra bildformat.
API Reference Sammanfattning
| Klass/Metod | Beskrivning |
|---|---|
Image.load(path) / Image.load(stream) | Laddar ett PSD- eller PSB-dokument |
PsdImage.save(path) / PsdImage.save(stream) | Sparar dokumentet |
PsdImage.width / height / bits_per_channel / color_mode / version / compression / size / is_flatten | Egenskaper för dokumenthuvud |
PsdImage.image_resources | Analyserade bildresursblock (skrivskyddade) |