Núcleo API

API de núcleo

PsdImage é o ponto de entrada para carregar, inspecionar e salvar documentos PSD/PSB. Ele estende a classe base abstrata Image, que declara apenas load() — o resto da superfície do documento (width, height, save(), suporte a gerenciador de contexto) é definido em PsdImage próprio, não é herdado.


Carregando e Salvando Documentos

Image.load() aceita um caminho de arquivo ou um fluxo e retorna um Image; para entrada PSD/PSB isso é sempre um PsdImage, portanto a superfície do documento está imediatamente disponível sem um cast explícito. PsdImage também suporta a instrução with para limpeza automática, e PsdImage.save() grava o documento de volta para um caminho de arquivo ou fluxo.

from aspose_psd_foss.psdimage import PsdImage

with PsdImage.load(input_path) as image:
    # ... inspect or edit ...
    image.save(output_path)

Propriedades do Cabeçalho do Documento

PsdImage expõe o cabeçalho analisado como propriedades tipadas: width, height, bits_per_channel, color_mode, version, compression, size e 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}")

Recursos de Imagem

PsdImage.image_resources devolve a lista analisada de objetos ResourceBlock. Nesta compilação FOSS, image_resources, global_layer_resources, active_layer e has_transparency_data podem ser lidos mas não reatribuídos — seus setters levantam NotSupportedException.

for resource in image.image_resources:
    print(f"Resource {resource.id}: {resource.name} ({resource.data_size} bytes)")

Dicas e Melhores Práticas

  • Image.load() já retorna um PsdImage para entrada PSD/PSB — não é necessário cast, ao contrário de algumas outras portas de linguagem desta biblioteca.
  • Use a instrução with; PsdImage suporta o protocolo de gerenciador de contexto para limpeza.
  • Trate image_resources, global_layer_resources, active_layer e has_transparency_data como somente leitura, mesmo que exponham um setter.
  • Verifique image.layer_count antes de indexar em image.layers — um documento achatado pode ter zero camadas.

Problemas Comuns

ProblemaCausaCorreção
NotSupportedException ao definir image_resourcesEsta propriedade é somente leitura na compilação FOSS, apesar de possuir um setterLeia o valor; não tente reatribui-lo
Lista vazia de image.layers em um documento achatadois_flatten está True e o documento não tem camadas analisadasVerifique image.layer_count (ou image.is_flatten) antes de indexar em image.layers

FAQ

Carregar um documento PSD decodifica os dados de pixel?

Não. PsdImage.load() analisa o cabeçalho do documento, os metadados das camadas e os recursos sem decodificar ou renderizar dados de pixel.

Posso converter um arquivo PSD para outro formato de imagem?

Não. Esta biblioteca carrega, inspeciona e salva apenas documentos PSD/PSB — ela não renderiza dados de pixel nem converte para outros formatos de imagem.


API Reference Resumo

Classe/MétodoDescrição
Image.load(path) / Image.load(stream)Carrega um documento PSD ou PSB
PsdImage.save(path) / PsdImage.save(stream)Salva o documento
PsdImage.width / height / bits_per_channel / color_mode / version / compression / size / is_flattenPropriedades do cabeçalho do documento
PsdImage.image_resourcesBlocos de recursos de imagem analisados (somente leitura)

Ver também

 Português