Популярное приложение Adobe Photoshop использует PSD (документ Photoshop) в качестве собственного формата файла изображения. Он обычно используется для создания логотипов, брошюр и других изображений, где файл PSD содержит несколько слоев. Мы можем легко защитить дизайн, добавив текстовый или графический водяной знак в PSD-файл программно. В этой статье мы узнаем, как добавить водяной знак в PSD на C#.
Эта статья должна охватывать следующие темы:
- C# Photoshop API для добавления водяных знаков в PSD
- Добавить текстовый водяной знак в PSD
- Создайте диагональный водяной знак в формате PSD
- Добавить водяной знак изображения в 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, выполнив следующие шаги:
- Во-первых, загрузите файл PSD как PsdImage, используя класс Image.
- Затем создайте экземпляр класса Graphics.
- Затем определите объект класса Font, чтобы нарисовать ширину водяного знака.
- Затем создайте экземпляр класса SolidBrush с цветом.
- Затем укажите выравнивание строк.
- После этого вызовите метод DrawString().
- Наконец, сохраните выходной файл с помощью метода 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-файла, используя следующий пример кода:
psdImage.Save(@"C:\Files\AddWatermark_output.psd", new PsdOptions());
Создайте диагональный водяной знак в PSD с помощью C#
Мы можем добавить диагональный текстовый водяной знак в файл PSD, выполнив следующие шаги:
- Во-первых, загрузите файл PSD как PsdImage, используя класс Image.
- Затем создайте экземпляр класса Graphics.
- Затем определите объект класса Font, чтобы нарисовать ширину водяного знака.
- Тем временем создайте экземпляр класса SolidBrush с цветом.
- Затем укажите матрицу преобразования, чтобы повернуть водяной знак.
- Позже укажите выравнивание строк.
- После этого вызовите метод DrawString().
- Наконец, сохраните выходной файл с помощью метода 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, выполнив следующие действия:
- Во-первых, загрузите файл PSD как PsdImage, используя класс Image.
- Затем создайте экземпляр класса Layer.
- Затем установите высоту, ширину и непрозрачность слоя.
- Затем вызовите метод AddLayer(), чтобы добавить слой в PSD.
- После этого загрузите изображение водяного знака в слой.
- Затем добавьте к слою водяной знак изображения.
- После этого вызовите метод DrawImage(). Он принимает местоположение и слой изображения водяного знака в качестве аргументов.
- Наконец, сохраните выходной файл с помощью метода 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());
Получить бесплатную временную лицензию
Вы можете получить бесплатную временную лицензию, чтобы попробовать Aspose.PSD для .NET без ограничений пробной версии.
Вывод
В этой статье мы узнали, как:
- добавить новый слой к PSD-изображению;
- добавить текст или изображение водяного знака в PSD;
- сохранить PSD как изображение PNG или PSD, используя C#.
Помимо добавления водяного знака в PSD на C#, вы можете узнать больше об Aspose.PSD для .NET с помощью документации и изучить различные функции, поддерживаемые API. В случае возникновения каких-либо неясностей, пожалуйста, свяжитесь с нами на нашем бесплатном форуме поддержки.