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
PsdHeadere 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) comPsdImage.version(um número de versão API fixo e não relacionado que está sempre6). - Verifique
image.has_color_mode_dataantes de lercolor_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
| Problema | Causa | Correção |
|---|---|---|
header.color_mode não corresponde a image.color_mode | PsdHeader.color_mode é o campo inteiro bruto do arquivo; PsdImage.color_mode é o enum ColorModes fortemente tipado construído a partir dele | Use image.color_mode para um valor tipado; use header.color_mode somente se precisar do inteiro bruto |
color_data_info.indexed_palette é None | O tipo de dados de cor do documento não é INDEXED_PALETTE | Somente 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étodo | Descrição |
|---|---|
PsdImage.header | Resumo do cabeçalho do documento (PsdHeader) |
PsdImage.color_data_info / parsed_color_data | Resumo da seção de dados de cor (PsdColorDataInfo / ColorData) |
PsdImage.image_data_info / image_data_kind / compression | Resumo da seção de dados de imagem |
PsdImage.resources / resource_count / has_image_resources | Resumo da seção de recursos de imagem |