1. Produtos
  2.   Aspose.PSD
  3.   Aspose.PSD FOSS for .NET

Aspose.PSD FOSS para .NET

Biblioteca .NET de código aberto para carregar, inspecionar e salvar arquivos PSD/PSB com acesso a metadados de camadas. Licença MIT, não requer Adobe Photoshop.

Biblioteca .NET de Código Aberto para Arquivos PSD/PSB

Aspose.PSD FOSS for .NET é uma biblioteca gratuita, licenciada sob MIT, pura C# para carregamento, inspeção, e salvamento de arquivos Adobe Photoshop PSD e PSB sem exigir Adobe Photoshop ou qualquer runtime proprietário. Ela expõe um API leve e independente centrado em PsdImage e Layer, oferecendo aos desenvolvedores .NET 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, e expõe cada camada através de PsdImage.Layers: cada Layer relata seu nome, limites, opacidade, visibilidade e chave do modo de mesclagem (BlendMode), juntamente com informações de nível inferior informação 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 in-place e persistido de volta ao disco com PsdImage.Save(); todo o resto na superfície é somente leitura por design nesta compilação FOSS. Aspose.PSD FOSS for .NET é licenciado sob MIT. Instale-o com dotnet add package Aspose.PSD.FOSS — a biblioteca não tem dependências nativas de terceiros dependências, apenas o .NET BCL. Para a família de produtos empresariais, veja Aspose.PSD — Enterprise Product Family.

Carregar e Inspecionar Arquivos PSD/PSB Files

  • Image.Load(filePath) ou Image.Load(stream) abre um arquivo e retorna um Image, convertido para PsdImage para acesso específico a PSD
  • PsdImage.Width, Height e Size relatam as dimensões da tela
  • PsdImage.ColorMode (ColorModes), BitsPerChannel e Compression (CompressionMethod) descrevem como os dados de pixel são codificados
  • PsdImage.Version (PsdVersion) distingue o PSD padrão da variante PSB de documento grande

Validar e Catalogar Arquivos de Design

  • Validar um lote de arquivos de design antes de entregá-los a um processo subsequente
  • Construir um catálogo leve de ativos com dimensões e modos de cor de PSD/PSB
  • Detectar arquivos PSB (documento grande) que requerem tratamento diferente do PSD padrão

Trabalhar com Camadas

  • PsdImage.Layers retorna cada Layer na ordem do documento; PsdImage.ActiveLayer indica qual está ativo
  • Cada Layer expõe Name, Bounds, Opacity, IsVisible e BlendModeKey (BlendMode)
  • Layer.ChannelInformation e Layer.LayerMaskData expõem metadados de canal e máscara para inspeção mais aprofundada
  • Layer.ChannelsCount informa quantos canais de imagem uma camada contém

Estrutura da Camada de Auditoria

  • Auditar a estrutura de camadas de um PSD sem abrir o Photoshop
  • Gerar um relatório de nomes de camadas, visibilidade e modos de mesclagem para revisão de design
  • Identificar camadas ocultas ou com opacidade zero deixadas de edições anteriores

Editar Metadados Básicos da Camada

  • Layer.Name, Layer.Left/Top/Right/Bottom e Layer.BlendModeKey podem ser definidos diretamente
  • PsdImage.Save(filePath) ou PsdImage.Save(stream) persiste o documento modificado de volta ao disco
  • Recarregar um arquivo salvo com Image.Load confirma que as edições retornam corretamente
  • Propriedades não listadas acima (informações de canal, dados de máscara, intervalos de mesclagem, recursos de imagem) lançam NotSupportedException se definidas — esta compilação suporta apenas edições de metadados, não reautoria completa

Edições Leves, Scriptáveis

  • Renomear camadas programaticamente como parte de um pipeline automatizado de organização de arquivos
  • Reposicionar ou redimensionar a caixa delimitadora de uma camada sem uma ferramenta de design
  • Atualizar em lote os modos de mesclagem em vários arquivos para consistência

Inspecionar blocos de recurso e estado do documento

  • PsdImage.ImageResources e GlobalLayerResources expõem coleções ResourceBlock/LayerResource
  • PsdImage.GlobalLayerMaskInfo relata informações de máscara de camada em todo o documento
  • PsdImage.IsFlatten e HasTransparencyData relatam flags ao nível do documento
  • PsdLoadException e PsdSaveException expõem erros de carregamento/salvamento com mensagens claras

Diagnosticar e Inspecionar

  • Diagnosticar por que um arquivo PSD específico falha ao carregar, com uma exceção tipada em vez de um erro genérico
  • Verificar se um arquivo foi salvo em forma achatada antes do processamento adicional
  • Inspecionar blocos de recursos incorporados para metadados ao nível do formato

Carregar um arquivo PSD e inspecionar suas camadas

Carregue um arquivo com Image.Load e converta o resultado para PsdImage para acessar membros específicos de PSD.

using var image = (PsdImage)Image.Load("test.psd");
Console.WriteLine($"Width: {image.Width}, Channels: {image.ChannelsCount}, Layers: {image.Layers.Length}");
Layer layer = image.Layers[0];
Console.WriteLine($"Bounds: {layer.Bounds}, BlendMode: {layer.BlendModeKey}, Opacity: {layer.Opacity}, Visible: {layer.IsVisible}");

Editar Metadados da Camada e Salvar

O nome da camada, os limites e o modo de mesclagem podem ser alterados no local e salvos de volta no disco.

using (var image = (PsdImage)Image.Load("test.psd"))
{
    image.Layers[0].Name = "Renamed layer";
    image.Layers[0].Left = 10;
    image.Layers[0].Top = 20;
    image.Layers[0].Right = 40;
    image.Layers[0].Bottom = 60;
    image.Layers[0].BlendModeKey = BlendMode.Multiply;
    image.Save("edited.psd");
}

using var reloaded = (PsdImage)Image.Load("edited.psd");
Console.WriteLine($"Name: {reloaded.Layers[0].Name}, BlendMode: {reloaded.Layers[0].BlendModeKey}");

Ler informações do canal (Somente leitura)

As informações do canal podem ser lidas, mas não reatribuídas — tentar defini-las gera NotSupportedException.

using var image = (PsdImage)Image.Load("test.psd");
Layer layer = image.Layers[0];
ChannelInformation[] channelInformation = layer.ChannelInformation;
Console.WriteLine($"Channel count: {layer.ChannelsCount}, First channel length: `NotSupportedException`");
// layer.ChannelInformation = channelInformation; // throws NotSupportedException

Perguntas Frequentes

Qual é o modelo de licenciamento?

Aspose.PSD FOSS for .NET é licenciado sob a licença MIT. Você pode usar, modificar e redistribuí-lo sob os termos da licença MIT, incluindo em produtos comerciais.

Como instalo Aspose.PSD FOSS for .NET?

Consulte a seção de instalação acima para o comando de instalação atual.

Quais formatos Aspose.PSD FOSS for .NET pode ler e gravar?

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.

Qual é a classe principal de ponto de entrada?

PsdImage (uma subclasse de Image). Carregue um documento com PsdImage.Load, então leia sua coleção Layers e as propriedades do cabeçalho.

Posso modificar os metadados da camada?

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.

  

Recursos de Suporte e Aprendizado

 Português