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:
- API Java PSD para adicionar novas camadas
- Adicionar uma nova camada ao PSD
- 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:
- Primeiramente, carregue um arquivo PSD como PsdImage usando a classe Image.
- Em seguida, prepare um objeto para adicionar, como Rectangle.
- Em seguida, chame o método addRegularLayer().
- Opcionalmente, defina a posição da camada, como Superior, Esquerda, Direita e Inferior.
- Depois disso, atribua o objeto à camada usando o método saveArgb32Pixels().
- 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 de texto ao PSD usando Java
Podemos adicionar uma nova camada de texto a um arquivo PSD seguindo as etapas abaixo:
- Primeiramente, carregue o arquivo PSD como PsdImage usando a classe Image.
- Em seguida, defina um Retângulo.
- Em seguida, chame o método addTexLayer(). Ele recebe entrada de texto e um objeto retângulo como argumentos.
- Depois disso, defina a posição da camada, como Superior, Esquerda, Direita e Inferior.
- 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);
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.