Adicionar nova camada ao PSD em Java

O popular aplicativo Photoshop da Adobe usa o PSD (Photoshop Document) como um formato de arquivo de imagem nativo. Um arquivo PSD pode conter várias camadas para criar logotipos, folhetos e outras imagens. Em certos casos, podemos precisar manipular os arquivos PSD programaticamente. Neste artigo, aprenderemos como adicionar uma nova camada a um PSD em Java.

Os seguintes tópicos serão abordados neste artigo:

  1. API Java PSD para adicionar novas camadas
  2. Adicionar uma nova camada ao PSD
  3. Adicionar uma nova camada de texto ao PSD

Java PSD API para adicionar novas camadas

Para criar novas camadas em arquivos PSD, usaremos a API Aspose.PSD for Java. Ele suporta a criação, edição ou manipulação de PSD e vários outros formatos de arquivo suportados.

A classe PsdImage da API permite carregar, editar e salvar arquivos PSD. Ele também fornece funcionalidade para atualizar propriedades, adicionar marcas d’água, executar operações gráficas ou converter um formato de arquivo para outro.

O método PsdImage.AddRegularLayer permite adicionar uma nova camada regular. O método AddTextLayer(string, Rectangle) da classe PsdImage adiciona uma nova camada de texto ao PSD.

Por favor, faça o download do JAR da API ou adicione a seguinte configuração pom.xml em um aplicativo Java baseado em Maven.

<repository>
    <id>AsposeJavaAPI</id>
    <name>Aspose Java API</name>
    <url>https://repository.aspose.com/repo/</url>
</repository> 
<dependency>
    <groupId>com.aspose</groupId>
    <artifactId>aspose-psd</artifactId>
    <version>21.7</version>
</dependency>   

Adicionar nova camada ao PSD usando Java

Podemos adicionar uma nova camada a um arquivo PSD seguindo as etapas abaixo:

  1. Primeiramente, carregue um arquivo PSD como PsdImage usando a classe Image.
  2. Em seguida, prepare um objeto para adicionar, como Rectangle.
  3. Em seguida, chame o método addRegularLayer().
  4. Opcionalmente, defina a posição da camada, como Superior, Esquerda, Direita e Inferior.
  5. Depois disso, atribua o objeto à camada usando o método saveArgb32Pixels().
  6. Finalmente, salve o arquivo de saída usando o método save().

O exemplo de código a seguir mostra como adicionar uma nova camada a um arquivo PSD em Java.

// Este exemplo de código demonstra como criar novas camadas no arquivo PSD.
String sourceFileName = "C:\\Files\\OneLayer.psd";
String exportPath = "C:\\Files\\AddNewLayer.psd";

// Carregar um PSD existente
PsdImage im = (PsdImage)Image.load(sourceFileName);

// Preparando dois arrays int
int[] data1 = new int[2500];
int[] data2 = new int[2500];

// Definir retângulos
Rectangle rect1 = new Rectangle(0, 0, 50, 50);
Rectangle rect2 = new Rectangle(0, 0, 100, 25);

for (int i = 0; i < 2500; i++)
{
    data1[i] = -10000000;
    data2[i] = -10000000;
}

// Adicionar camada 1
Layer layer1 = im.addRegularLayer();
layer1.setLeft(25);
layer1.setTop(25);
layer1.setRight(75);
layer1.setBottom(75);
layer1.saveArgb32Pixels(rect1, data1);

// Adicionar camada 2
Layer layer2 = im.addRegularLayer();
layer2.setLeft(25);
layer2.setTop(150);
layer2.setRight(125);
layer2.setBottom(175);
layer2.saveArgb32Pixels(rect2, data2);

// Salvar PSD
im.save(exportPath);
Adicionar nova camada ao PSD programaticamente usando Java

Adicionar nova camada ao PSD programaticamente usando Java

Adicionar nova camada de texto ao PSD usando Java

Podemos adicionar uma nova camada de texto a um arquivo PSD seguindo as etapas abaixo:

  1. Primeiramente, carregue o arquivo PSD como PsdImage usando a classe Image.
  2. Em seguida, defina um Retângulo.
  3. Em seguida, chame o método addTexLayer(). Ele recebe entrada de texto e um objeto retângulo como argumentos.
  4. Depois disso, defina a posição da camada, como Superior, Esquerda, Direita e Inferior.
  5. Finalmente, salve o arquivo de saída usando o método save().

O exemplo de código a seguir mostra como adicionar uma nova camada de texto a um arquivo PSD em Java.

// Este exemplo de código demonstra como criar novas camadas no arquivo de imagem PSD.
String sourceFileName = "C:\\Files\\sample.psd";
String exportPath = "C:\\Files\\AddTextLayer.psd";

// Carregar um PSD existente
PsdImage im = (PsdImage)Image.load(sourceFileName);

// Adicionar uma camada de texto
Rectangle rect = new Rectangle(20, 20, 100, 30);
TextLayer layer = im.addTextLayer("Welcome!", rect);

// Definir a posição da camada
layer.setLeft(10);
layer.setTop(25);

// Salvar PSD
im.save(exportPath);
Adicionar-Novo-Texto-Camada-ao-PSD-usando-Java

Adicionar nova camada de texto ao PSD programaticamente usando Java

Obtenha Licença Temporária Gratuita

Você pode obter uma licença temporária gratuita para experimentar a biblioteca sem limitações de avaliação.

Conclusão

Neste artigo, aprendemos como:

  • crie uma nova imagem PSD;
  • crie uma nova camada regular;
  • insira uma camada de texto em um PSD usando Java.

Além de adicionar uma nova camada ao PSD em Java, você pode aprender mais sobre o Aspose.PSD para Java usando documentação. Em caso de qualquer ambiguidade, sinta-se à vontade para nos contatar em nosso fórum de suporte gratuito.

Veja também