Sections

Sections

Um PsdImage carregado expõe objetos de resumo somente leitura para as seções estruturais de um documento PSD/PSB — o cabeçalho, a seção de dados de cor, a seção de dados de imagem e a seção de recursos de imagem — tudo por meio de propriedades tipadas, sem exigir análise manual de bytes.


Inspecionando a Seção de Cabeçalho

PsdImage.header retorna um PsdHeader com os campos estruturais brutos do documento. PsdHeader.version é a versão bruta do contêiner PSD (1 para PSD, 2 para PSB) — esta é uma propriedade diferente da PsdImage.version não relacionada, que é um número de versão API fixo, não um valor de formato de arquivo.

from aspose_psd_foss.psdimage import PsdImage

image = PsdImage.load(input_path)
header = image.header

print(f"Size: {header.width}x{header.height}, channels: {header.channels}")
print(f"Bit depth: {header.bit_depth}, raw container version: {header.version}")
print(f"Is PSB: {header.is_large_document}")

Inspecionando a Seção de Dados de Cor

PsdImage.color_data_info retorna um resumo PsdColorDataInfo; kind é um valor PsdColorDataKind (NONE, INDEXED_PALETTE, RGB_PAYLOAD, CMYK_PAYLOAD ou RAW_PRESERVED).

if image.has_color_mode_data:
    color_info = image.color_data_info
    print(f"Color data kind: {color_info.kind}, raw bytes: {color_info.raw_data_length}")

Inspecionando a Seção de Dados de Imagem

PsdImage.image_data_info retorna um resumo PsdImageDataInfo descrevendo como os dados de pixel mesclados são codificados; image.compression relata a mesma codificação via um enum CompressionMethod separado.

data_info = image.image_data_info
print(f"Compression: {image.compression}, data kind: {data_info.kind}")
print(f"Uses prediction: {data_info.uses_prediction}")

Inspecionando a Seção de Recursos de Imagem

PsdImage.resources, resource_count, e has_image_resources exibir o conteúdo da seção de recursos de imagem. Veja Resources para os recursos completos API.

print(f"Resource count: {image.resource_count}")

Dicas e Melhores Práticas

  • PsdHeader e seus resumos de seção relacionados (PsdColorDataInfo, ColorData, PsdImageDataInfo) são todos somente leitura nesta compilação FOSS — não há setters públicos em nenhuma de suas propriedades.
  • Não confunda PsdHeader.version (a verdadeira versão do contêiner PSD/PSB) com PsdImage.version (um número de versão API fixo e não relacionado que está sempre 6).
  • Verifique image.has_color_mode_data antes de ler color_data_info — um documento sem dados de modo de cor ainda retorna um objeto de resumo, mas seus campos podem não ser significativos.

Problemas Comuns

ProblemaCausaCorreção
header.color_mode não corresponde a image.color_modePsdHeader.color_mode é o campo inteiro bruto do arquivo; PsdImage.color_mode é o enum ColorModes fortemente tipado construído a partir deleUse image.color_mode para um valor tipado; use header.color_mode somente se precisar do inteiro bruto
color_data_info.indexed_palette é NoneO tipo de dados de cor do documento não é INDEXED_PALETTESomente documentos com cor indexada possuem uma paleta — verifique color_data_info.kind primeiro

FAQ

Posso modificar o cabeçalho, os dados de cor ou as seções de dados de imagem diretamente?

Não — PsdHeader, PsdColorDataInfo, ColorData e PsdImageDataInfo são todos objetos de resumo apenas leitura nesta compilação FOSS.

Qual é a diferença entre image.compression e image.image_data_info.kind?

Eles descrevem a mesma codificação subjacente através de dois enums separados: image.compression retorna um valor CompressionMethod, enquanto image.image_data_info.kind retorna um valor ImageDataKind.


API Reference Resumo

Classe/MétodoDescrição
PsdImage.headerResumo do cabeçalho do documento (PsdHeader)
PsdImage.color_data_info / parsed_color_dataResumo da seção de dados de cor (PsdColorDataInfo / ColorData)
PsdImage.image_data_info / image_data_kind / compressionResumo da seção de dados de imagem
PsdImage.resources / resource_count / has_image_resourcesResumo da seção de recursos de imagem

Ver também

 Português