Adicionar marca d'água ao PSD em C#

O popular aplicativo Photoshop da Adobe usa PSD (Photoshop Document) como um formato de arquivo de imagem nativo. É comumente usado para criar logotipos, folhetos e outras imagens em que o arquivo PSD contém várias camadas. Podemos proteger facilmente o design adicionando a marca d’água de texto ou imagem a um arquivo PSD programaticamente. Neste artigo, aprenderemos como adicionar uma marca d’água a um PSD em C#.

Este artigo deve abordar os seguintes tópicos:

  1. API C# do Photoshop para adicionar marca d’água ao PSD
  2. Adicione uma marca d’água de texto ao PSD
  3. Criar uma marca d’água diagonal em PSD
  4. Adicionar uma marca d’água de imagem ao PSD

API C# do Photoshop para adicionar marca d’água ao PSD

Para adicionar uma marca d’água de texto ou imagem em um arquivo PSD, usaremos a API Aspose.PSD for .NET. É uma API de manipulação de formato de arquivo Adobe Photoshop fácil de usar. Permite carregar e ler arquivos PSD e PSB em aplicativos .NET. A API nos permite atualizar as propriedades da camada, adicionar marcas d’água, realizar compactação, rotação, dimensionar ou renderizar PSD e vários outros formatos de arquivo suportados sem a necessidade de instalar o Adobe Photoshop.

A classe PsdImage da API permite carregar, editar e salvar arquivos PSD. A classe Graphics representa os gráficos na imagem. Temos o método DrawString(string, Font, Brush, RectangleF, StringFormat) desta classe que desenha a string de texto especificada no retângulo especificado com os objetos brush e font especificados. A classe Layer representa a camada PSD. O método DrawImage(Point, RasterImage) desta classe desenha a imagem na camada. Podemos salvar o PSD no local do arquivo especificado usando o método Save(string, ImageOptionsBase).

Por favor, faça o download da DLL da API ou instale-a usando NuGet.

PM> Install-Package Aspose.PSD

Adicionar marca d’água de texto ao PSD usando C#

Podemos adicionar qualquer texto como marca d’água a um arquivo PSD seguindo as etapas abaixo:

  1. Primeiramente, carregue o arquivo PSD como PsdImage usando a classe Image.
  2. Em seguida, crie uma instância da classe Graphics.
  3. Em seguida, defina um objeto de classe Font para desenhar a largura da marca d’água.
  4. Em seguida, crie uma instância da classe SolidBrush com cor.
  5. Em seguida, especifique o alinhamento da string.
  6. Depois disso, chame o método DrawString().
  7. Finalmente, salve o arquivo de saída usando o método Save().

O exemplo de código a seguir mostra como adicionar uma marca d’água de texto a um arquivo PSD em C#.

// Este exemplo de código mostra como adicionar uma marca d'água de texto a um arquivo PSD
// Carregue um arquivo PSD como uma imagem e converta-o em PsdImage
PsdImage psdImage = (PsdImage)Image.Load(@"C:\Files\SimplePSD.psd");

// Crie objetos gráficos para realizar operações de desenho.
Graphics graphics = new Graphics(psdImage);

// Crie uma fonte para desenhar a marca d'água.
Font font = new Font("Arial", 25.0f);

// Crie um pincel sólido com a cor alfa definida perto de 0 para usar o efeito de marca d'água.
SolidBrush brush = new SolidBrush(Color.FromArgb(80, 128, 128, 128));

// Especifique o alinhamento da string para colocar a marca d'água no centro da imagem.
StringFormat sf = new StringFormat();
sf.Alignment = StringAlignment.Center;
sf.LineAlignment = StringAlignment.Center;

// Desenhe marca d'água usando fonte, pincel parcialmente transparente e matriz de rotação no centro da imagem.
graphics.DrawString("Sample Watermark Text", font, brush, new RectangleF(0, 0, psdImage.Width, psdImage.Height), sf);

// Exporte a imagem para o formato de arquivo PNG.
psdImage.Save(@"C:\Files\AddWatermark_output.png", new PngOptions());
Adicionar marca d'água de texto ao PSD usando C#

Adicionar marca d’água de texto ao PSD usando C#

Também podemos salvar a saída como um arquivo PSD usando o seguinte exemplo de código:

psdImage.Save(@"C:\Files\AddWatermark_output.psd", new PsdOptions());

Criar marca d’água diagonal em PSD usando C#

Podemos adicionar uma marca d’água de texto diagonal a um arquivo PSD seguindo as etapas abaixo:

  1. Primeiramente, carregue o arquivo PSD como PsdImage usando a classe Image.
  2. Em seguida, crie uma instância da classe Graphics.
  3. Em seguida, defina um objeto de classe Font para desenhar a largura da marca d’água.
  4. Enquanto isso, crie uma instância da classe SolidBrush com color.
  5. Em seguida, especifique a matriz de transformação para girar a marca d’água.
  6. Mais tarde, especifique o alinhamento da string.
  7. Depois disso, chame o método DrawString().
  8. Finalmente, salve o arquivo de saída usando o método Save().

O exemplo de código a seguir mostra como adicionar uma marca d’água de texto diagonal a um arquivo PSD em C#.

// Este exemplo de código mostra como adicionar uma marca d'água de texto diagonal a um arquivo PSD
// Carregue um arquivo PSD como uma imagem e converta-o em PsdImage
PsdImage psdImage = (PsdImage)Image.Load(@"C:\Files\SimplePSD.psd");

// Criar objeto gráfico para realizar operações de desenho
Graphics graphics = new Graphics(psdImage);

// Criar fonte para desenhar marca d'água com
Font font = new Font("Arial", 25.0f);

// Crie um pincel sólido com alfa de cor definido próximo a 0 para usar o efeito de marca d'água
SolidBrush brush = new SolidBrush(Color.FromArgb(80, 128, 128, 128));

// Especifique a matriz de transformação para girar a marca d'água
graphics.Transform = new Matrix();
graphics.Transform.RotateAt(45, new PointF(psdImage.Width / 2, psdImage.Height / 2));

// Especifique o alinhamento da string para colocar a marca d'água no centro da imagem
StringFormat sf = new StringFormat();
sf.Alignment = StringAlignment.Center;

// Desenhe marca d'água usando fonte, pincel parcialmente transparente no centro da imagem
graphics.DrawString("Sample Watermark Text", font, brush, new RectangleF(0, psdImage.Height / 2, psdImage.Width, psdImage.Height / 2), sf);

// Exporte a imagem para o formato de arquivo PNG
psdImage.Save(@"C:\Files\AddDiagnolWatermark_output.png", new PngOptions());
Criar marca d'água diagonal em PSD usando C#

Criar marca d’água diagonal em PSD usando C#

Adicionar marca d’água de imagem ao PSD usando C#

Também podemos adicionar uma imagem como marca d’água a um arquivo PSD seguindo as etapas abaixo:

  1. Primeiramente, carregue o arquivo PSD como PsdImage usando a classe Image.
  2. Em seguida, crie uma instância da classe Layer.
  3. Em seguida, defina a altura, largura e opacidade da camada.
  4. Em seguida, chame o método AddLayer() para adicionar a camada ao PSD.
  5. Depois disso, carregue uma imagem de marca d’água em uma camada.
  6. Em seguida, adicione uma marca d’água de imagem à camada.
  7. Depois disso, chame o método DrawImage(). Ele usa a camada de imagem de localização e marca d’água como argumentos.
  8. Finalmente, salve o arquivo de saída usando o método Save().

O exemplo de código a seguir mostra como adicionar uma marca d’água de imagem a um arquivo PSD em C#.

// Este exemplo de código mostra como adicionar uma marca d'água de imagem a um arquivo PSD
// Carregar um arquivo PSD no objeto PsdImage
PsdImage psdImage = (PsdImage)Image.Load(@"C:\Files\SimplePSD.psd");

// Adicionar uma nova camada de marca d'água
var baseLayer = new Layer();
baseLayer.Top = 200;
baseLayer.Bottom = 600;
baseLayer.Right = 600;
baseLayer.Opacity = 50;

// Adicionar camada ao arquivo PSD
psdImage.AddLayer(baseLayer);

// Carregar uma imagem de marca d'água em uma camada
FileStream ImageWatermarkFile = new FileStream(@"C:\Files\aspose_logo.png", FileMode.Open);
Layer ImageWatermarkLayer = new Layer(ImageWatermarkFile);

// Adicionar marca d'água da imagem à camada base
baseLayer.DrawImage(new Point(0, 200), ImageWatermarkLayer);

// Salvar arquivo PSD com marca d'água final
psdImage.Save(@"C:\Files\ImageWatermarkedPSD.png", new PngOptions());
Adicionar marca d'água de imagem ao PSD usando C#

Adicionar marca d’água de imagem ao PSD usando C#

Obtenha Licença Temporária Gratuita

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

Conclusão

Neste artigo, aprendemos como:

  • adicione uma nova camada a uma imagem PSD;
  • adicionar texto ou imagem de marca d’água ao PSD;
  • salve PSD como uma imagem PNG ou PSD usando C#.

Além de adicionar uma marca d’água ao PSD em C#, você pode aprender mais sobre o Aspose.PSD para .NET usando documentação e explorar diferentes recursos suportados pela API. Em caso de qualquer ambiguidade, sinta-se à vontade para entrar em contato conosco em nosso fórum de suporte gratuito.

Veja também