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 en PsdImage för PSD/PSB inmatning — ingen typkonvertering behövs, till skillnad från vissa andra språkportar av detta bibliotek.
  • Använd with-satsen; PsdImage stödjer kontext-hanterarprotokollet för städning.
  • Behandla image_resources, global_layer_resources, active_layer och has_transparency_data som skrivskyddade även om de exponerar en set-metod.
  • Kontrollera image.layer_count innan du indexerar i image.layers — ett plattat dokument kan ha noll lager.

Vanliga problem

ProblemOrsakÅtgärd
NotSupportedException när du ställer in image_resourcesDenna egenskap är skrivskyddad i FOSS-builden trots att den har en setterLäs värdet; försök inte att tilldela det på nytt
Tom image.layers-lista på ett plattat dokumentis_flatten är True och dokumentet har inga parsade lagerKontrollera 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/MetodBeskrivning
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_flattenEgenskaper för dokumenthuvud
PsdImage.image_resourcesAnalyserade bildresursblock (skrivskyddade)

Se även

 Svenska