Добавить водяной знак в PSD на C#

Популярное приложение Adobe Photoshop использует PSD (документ Photoshop) в качестве собственного формата файла изображения. Он обычно используется для создания логотипов, брошюр и других изображений, где файл PSD содержит несколько слоев. Мы можем легко защитить дизайн, добавив текстовый или графический водяной знак в PSD-файл программно. В этой статье мы узнаем, как добавить водяной знак в PSD на C#.

Эта статья должна охватывать следующие темы:

  1. C# Photoshop API для добавления водяных знаков в PSD
  2. Добавить текстовый водяной знак в PSD
  3. Создайте диагональный водяной знак в формате PSD
  4. Добавить водяной знак изображения в PSD

API C# Photoshop для добавления водяного знака в PSD

Чтобы добавить текстовый или графический водяной знак в файл PSD, мы будем использовать API Aspose.PSD для .NET. Это простой в использовании API для работы с форматами файлов Adobe Photoshop. Он позволяет загружать и читать файлы PSD и PSB в приложениях .NET. API позволяет нам обновлять свойства слоя, добавлять водяные знаки, выполнять сжатие, поворот, масштабирование или рендеринг PSD и некоторые другие поддерживаемые форматы файлов без необходимости установки Adobe Photoshop.

Класс PsdImage API позволяет загружать, редактировать и сохранять PSD-файлы. Класс Graphics представляет графику на изображении. У нас есть метод DrawString(string, Font, Brush, RectangleF, StringFormat) этого класса, который рисует указанную текстовую строку в указанном прямоугольнике с помощью указанных объектов кисти и шрифта. Класс Layer представляет слой PSD. Метод DrawImage(Point, RasterImage) этого класса рисует изображение на слое. Мы можем сохранить PSD в указанное место файла, используя метод Save(string, ImageOptionsBase).

Пожалуйста, либо загрузите DLL API, либо установите его с помощью NuGet.

PM> Install-Package Aspose.PSD

Добавить текстовый водяной знак в PSD с помощью C#

Мы можем добавить любой текст в качестве водяного знака в файл PSD, выполнив следующие шаги:

  1. Во-первых, загрузите файл PSD как PsdImage, используя класс Image.
  2. Затем создайте экземпляр класса Graphics.
  3. Затем определите объект класса Font, чтобы нарисовать ширину водяного знака.
  4. Затем создайте экземпляр класса SolidBrush с цветом.
  5. Затем укажите выравнивание строк.
  6. После этого вызовите метод DrawString().
  7. Наконец, сохраните выходной файл с помощью метода Save().

В следующем примере кода показано, как добавить текстовый водяной знак в PSD-файл на C#.

// В этом примере кода показано, как добавить текстовый водяной знак в PSD-файл.
// Загрузите PSD-файл как изображение и преобразуйте его в PsdImage.
PsdImage psdImage = (PsdImage)Image.Load(@"C:\Files\SimplePSD.psd");

// Создайте графический объект для выполнения операций рисования.
Graphics graphics = new Graphics(psdImage);

// Создайте шрифт для рисования водяного знака.
Font font = new Font("Arial", 25.0f);

// Создайте сплошную кисть с альфа-каналом цвета, близким к 0, чтобы использовать эффект водяных знаков.
SolidBrush brush = new SolidBrush(Color.FromArgb(80, 128, 128, 128));

// Укажите выравнивание строки, чтобы поместить водяной знак в центр изображения.
StringFormat sf = new StringFormat();
sf.Alignment = StringAlignment.Center;
sf.LineAlignment = StringAlignment.Center;

// Нарисуйте водяной знак, используя шрифт, частично прозрачную кисть и матрицу вращения в центре изображения.
graphics.DrawString("Sample Watermark Text", font, brush, new RectangleF(0, 0, psdImage.Width, psdImage.Height), sf);

// Экспортируйте изображение в формат файла PNG.
psdImage.Save(@"C:\Files\AddWatermark_output.png", new PngOptions());
Добавить текстовый водяной знак в PSD с помощью C#

Добавить текстовый водяной знак в PSD с помощью C#

Мы также можем сохранить вывод в виде PSD-файла, используя следующий пример кода:

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

Создайте диагональный водяной знак в PSD с помощью C#

Мы можем добавить диагональный текстовый водяной знак в файл PSD, выполнив следующие шаги:

  1. Во-первых, загрузите файл PSD как PsdImage, используя класс Image.
  2. Затем создайте экземпляр класса Graphics.
  3. Затем определите объект класса Font, чтобы нарисовать ширину водяного знака.
  4. Тем временем создайте экземпляр класса SolidBrush с цветом.
  5. Затем укажите матрицу преобразования, чтобы повернуть водяной знак.
  6. Позже укажите выравнивание строк.
  7. После этого вызовите метод DrawString().
  8. Наконец, сохраните выходной файл с помощью метода Save().

В следующем примере кода показано, как добавить водяной знак с диагональным текстом в PSD-файл на C#.

// В этом примере кода показано, как добавить диагональный текстовый водяной знак в PSD-файл.
// Загрузите PSD-файл как изображение и преобразуйте его в PsdImage.
PsdImage psdImage = (PsdImage)Image.Load(@"C:\Files\SimplePSD.psd");

// Создайте графический объект для выполнения операций рисования
Graphics graphics = new Graphics(psdImage);

// Создайте шрифт для рисования водяного знака с помощью
Font font = new Font("Arial", 25.0f);

// Создайте сплошную кисть с альфа-каналом цвета, близким к 0, чтобы использовать эффект водяного знака.
SolidBrush brush = new SolidBrush(Color.FromArgb(80, 128, 128, 128));

// Укажите матрицу преобразования для поворота водяного знака
graphics.Transform = new Matrix();
graphics.Transform.RotateAt(45, new PointF(psdImage.Width / 2, psdImage.Height / 2));

// Укажите выравнивание строк, чтобы поместить водяной знак в центр изображения.
StringFormat sf = new StringFormat();
sf.Alignment = StringAlignment.Center;

// Нарисуйте водяной знак, используя шрифт, частично прозрачную кисть в центре изображения.
graphics.DrawString("Sample Watermark Text", font, brush, new RectangleF(0, psdImage.Height / 2, psdImage.Width, psdImage.Height / 2), sf);

// Экспорт изображения в формат файла PNG
psdImage.Save(@"C:\Files\AddDiagnolWatermark_output.png", new PngOptions());
Создайте диагональный водяной знак в PSD с помощью C#

Создайте диагональный водяной знак в PSD с помощью C#

Добавить водяной знак изображения в PSD с помощью C#

Мы также можем добавить изображение в качестве водяного знака в файл PSD, выполнив следующие действия:

  1. Во-первых, загрузите файл PSD как PsdImage, используя класс Image.
  2. Затем создайте экземпляр класса Layer.
  3. Затем установите высоту, ширину и непрозрачность слоя.
  4. Затем вызовите метод AddLayer(), чтобы добавить слой в PSD.
  5. После этого загрузите изображение водяного знака в слой.
  6. Затем добавьте к слою водяной знак изображения.
  7. После этого вызовите метод DrawImage(). Он принимает местоположение и слой изображения водяного знака в качестве аргументов.
  8. Наконец, сохраните выходной файл с помощью метода Save().

В следующем примере кода показано, как добавить водяной знак изображения в PSD-файл на C#.

// В этом примере кода показано, как добавить водяной знак изображения в PSD-файл.
// Загрузите файл PSD в объект PsdImage
PsdImage psdImage = (PsdImage)Image.Load(@"C:\Files\SimplePSD.psd");

// Добавьте новый слой водяного знака
var baseLayer = new Layer();
baseLayer.Top = 200;
baseLayer.Bottom = 600;
baseLayer.Right = 600;
baseLayer.Opacity = 50;

// Добавить слой в PSD-файл
psdImage.AddLayer(baseLayer);

// Загрузите изображение водяного знака в слой
FileStream ImageWatermarkFile = new FileStream(@"C:\Files\aspose_logo.png", FileMode.Open);
Layer ImageWatermarkLayer = new Layer(ImageWatermarkFile);

// Добавить водяной знак изображения к базовому слою
baseLayer.DrawImage(new Point(0, 200), ImageWatermarkLayer);

// Сохранить окончательный файл PSD с водяными знаками
psdImage.Save(@"C:\Files\ImageWatermarkedPSD.png", new PngOptions());
Добавить водяной знак изображения в PSD с помощью C#

Добавить водяной знак изображения в PSD с помощью C#

Получить бесплатную временную лицензию

Вы можете получить бесплатную временную лицензию, чтобы попробовать Aspose.PSD для .NET без ограничений пробной версии.

Вывод

В этой статье мы узнали, как:

  • добавить новый слой к PSD-изображению;
  • добавить текст или изображение водяного знака в PSD;
  • сохранить PSD как изображение PNG или PSD, используя C#.

Помимо добавления водяного знака в PSD на C#, вы можете узнать больше об Aspose.PSD для .NET с помощью документации и изучить различные функции, поддерживаемые API. В случае возникновения каких-либо неясностей, пожалуйста, свяжитесь с нами на нашем бесплатном форуме поддержки.

Смотрите также