Kern API
Kern-API
PsdImage is het toegangspunt voor het laden, inspecteren en opslaan van PSD/PSB documenten. Het breidt de abstracte Image basis-klasse uit, die alleen load() declareert — de rest van het document-oppervlak (width, height, save(), context-managerondersteuning) wordt gedefinieerd op PsdImage zelf, niet geërfd.
Documenten laden en opslaan
Image.load() accepteert een bestandspad of een stream en retourneert een Image; voor PSD/PSB invoer is dit altijd een PsdImage, zodat het documentoppervlak direct beschikbaar is zonder een expliciete cast. PsdImage ondersteunt ook de with instructie voor automatische opruiming, en PsdImage.save() schrijft het document terug naar een bestandspad of stream.
from aspose_psd_foss.psdimage import PsdImage
with PsdImage.load(input_path) as image:
# ... inspect or edit ...
image.save(output_path)Documentheadereigenschappen
PsdImage exposeert de geparseerde header als getypeerde eigenschappen: width, height, bits_per_channel, color_mode, version, compression, size en 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}")Afbeeldingsbronnen
PsdImage.image_resources retourneert de geparseerde lijst van ResourceBlock objecten. In deze FOSS-build kunnen image_resources, global_layer_resources, active_layer en has_transparency_data worden gelezen maar niet opnieuw toegewezen — hun setters veroorzaken NotSupportedException.
for resource in image.image_resources:
print(f"Resource {resource.id}: {resource.name} ({resource.data_size} bytes)")Tips en best practices
Image.load()retourneert al eenPsdImagevoor PSD/PSB invoer — er is geen cast nodig, in tegenstelling tot enkele andere taalpoorten van deze bibliotheek.- Gebruik de
withinstructie;PsdImageondersteunt het context-managerprotocol voor opruimen. - Behandel
image_resources,global_layer_resources,active_layerenhas_transparency_dataals alleen-lezen, ook al bieden ze een setter. - Controleer
image.layer_countvoordat je indexeert inimage.layers— een afgevlakt document kan nul lagen hebben.
Veelvoorkomende problemen
| Probleem | Oorzaak | Oplossing |
|---|---|---|
NotSupportedException bij het instellen van image_resources | Deze eigenschap is alleen-lezen in de FOSS-build ondanks dat er een setter is | Lees de waarde; probeer deze niet opnieuw toe te wijzen |
Lege image.layers lijst op een afgevlakt document | is_flatten is True en het document heeft geen geparseerde lagen | Controleer image.layer_count (of image.is_flatten) voordat u indexeert in image.layers |
FAQ
Decodeert het laden van een PSD-document pixelgegevens?
Nee. PsdImage.load() analyseert de documentheader, laagmetadata en bronnen zonder pixeldata te decoderen of te renderen.
Kan ik een PSD-bestand naar een ander afbeeldingsformaat converteren?
Nee. Deze bibliotheek laadt, inspecteert en slaat alleen PSD/PSB-documenten op — hij rendert geen pixeldata en converteert niet naar andere afbeeldingsformaten.
API Reference Samenvatting
| Klasse/Methode | Beschrijving |
|---|---|
Image.load(path) / Image.load(stream) | Laadt een PSD- of PSB-document |
PsdImage.save(path) / PsdImage.save(stream) | Slaat het document op |
PsdImage.width / height / bits_per_channel / color_mode / version / compression / size / is_flatten | Documentheader-eigenschappen |
PsdImage.image_resources | Geparseerde afbeeldingsresourceblokken (alleen-lezen) |