PsdImage e
Layer, proporcionando aos desenvolvedores Python acesso programático à estrutura de um documento PSD sem
dependências nativas para compilar. A biblioteca lê as dimensões, modo de cor, profundidade de bits e compressão de um arquivo PSD/PSB
método, e expõe cada camada através de PsdImage.layers: cada Layer relata seu nome,
limites, opacidade, visibilidade e a chave do modo de mesclagem (BlendMode), junto com informações de nível inferior
de canal (ChannelInformation) e dados de máscara (LayerMaskData). Um subconjunto de
metadados da camada — nome, limites (left/top/right/bottom), e modo de mesclagem — pode ser
modificado no local e persistido de volta ao disco com PsdImage.save(); tudo o mais na
superfície é somente leitura por design nesta compilação FOSS. Aspose.PSD FOSS for Python é licenciado sob MIT. Instale-o com
pip install aspose-psd-foss — a biblioteca não tem dependências nativas de terceiros
dependências, apenas a biblioteca padrão Python. Para a família de produtos empresariais, veja Aspose.PSD — Enterprise Product Family.Image.load(file_path) abre um arquivo e retorna uma instância PsdImagePsdImage.width, height e channels_count relatam as dimensões da tela e a contagem de canaisPsdImage.layers retorna a lista completa de objetos Layer na ordem do documentoPsdImage.layers retorna cada Layer na ordem do documento; cada Layer expõe name, bounds, opacity, is_visible e blend_mode_keyLayer.channel_information expõe metadados do canal para inspeção mais profundaLayer.channels_count informa quantos canais de imagem uma camada contémPsdImage.layers pode ser reatribuído para remover ou reordenar camadasLayer.name, Layer.left/top/right/bottom e Layer.blend_mode_key podem ser definidos diretamentePsdImage.save(file_path) persiste o documento modificado de volta ao discoPsdImage.load confirma que as edições são realizadas corretamente em ida e voltaNotSupportedException se definidas — esta compilação suporta apenas edições de metadados, não reautoria completaLayer.channel_information expõe coleções de metadados por canalLayer.has_mask_data e has_blending_ranges_data relatam se seções opcionais estão presentesPsdLoadException e PsdSaveException apresentam erros de carregamento/salvamento com mensagens clarasCarregue um arquivo com Image.load para obter uma instância PsdImage para membros específicos de PSD.
from aspose_psd_foss.image import Image
with Image.load("test.psd") as image:
print(f"Width: {image.width}, Channels: {image.channels_count}, Layers: {len(image.layers)}")
Os limites da camada e o modo de mesclagem podem ser alterados no local e salvos de volta no disco.
from aspose_psd_foss.psdimage import PsdImage
from aspose_psd_foss.layers.blendmode import BlendMode
with PsdImage.load("test.psd") as image:
image.layers[0].left = 10
image.layers[0].top = 20
image.layers[0].right = 40
image.layers[0].bottom = 60
image.layers[0].blend_mode_key = BlendMode.MULTIPLY
image.save("edited.psd")
with PsdImage.load("edited.psd") as reloaded:
print(f"Bounds: {reloaded.layers[0].bounds}, BlendMode: {reloaded.layers[0].blend_mode_key}")
As informações do canal podem ser lidas, mas não reassinadas — ao tentar defini-las, ocorre NotSupportedException.
from aspose_psd_foss.psdimage import PsdImage
with PsdImage.load("test.psd") as image:
layer = image.layers[0]
channel_information = layer.channel_information
print(f"Channel count: {layer.channels_count}, first channel: `NotSupportedException`")
# layer.channel_information = channel_information # raises NotSupportedException
Aspose.PSD FOSS for Python está licenciado sob a licença MIT. Você pode usar, modificar e redistribuí-lo sob os termos da licença MIT, inclusive em produtos comerciais.
Consulte a seção de instalação acima para o comando de instalação atual.
Ele carrega e salva arquivos PSD e PSB (documento grande do Photoshop). Não renderiza nem exporta dados de pixel para outros formatos raster, como PNG ou JPEG.
PsdImage (uma subclasse de Image). Carregue um documento com PsdImage.load, então leia sua coleção layers e as propriedades do cabeçalho.
Sim — Layer expõe um setter funcional para várias propriedades, como visibilidade e nome, e PsdImage.layers em si tem um setter funcional para substituir a coleção. Algumas propriedades específicas (informações de canal, dados de máscara, intervalos de mesclagem e alguns recursos de nível de documento) são somente leitura nesta compilação FOSS e lançam NotSupportedException se definidas.