在 C# 中将水印添加到 PSD

Adobe 流行的 Photoshop 应用程序使用 PSD(Photoshop 文档)作为原生图像文件格式。它通常用于创建 PSD 文件包含多个图层的徽标、小册子和其他图像。我们可以通过以编程方式将文本或图像水印添加到 PSD 文件来轻松保护设计。在本文中,我们将学习如何在 C# 中为 PSD 添加水印。

本文将涵盖以下主题:

  1. C# Photoshop API 为 PSD 添加水印
  2. 在 PSD 中添加文本水印
  3. 在 PSD 中创建对角线水印
  4. 将图像水印添加到 PSD

C# Photoshop API 为 PSD 添加水印

要在 PSD 文件中添加文本或图像水印,我们将使用 Aspose.PSD for .NET API。它是一个易于使用的 Adobe Photoshop 文件格式操作 API。它允许在 .NET 应用程序中加载和读取 PSD 和 PSB 文件。该 API 使我们能够更新图层属性、添加水印、执行压缩、旋转、缩放或渲染 PSD 以及其他几种支持的文件格式,而无需安装 Adobe Photoshop。

API 的 PsdImage 类允许加载、编辑和保存 PSD 文件。 Graphics 类表示图像中的图形。我们有这个类的 DrawString(string, Font, Brush, RectangleF, StringFormat) 方法,用指定的画笔和字体对象在指定的矩形中绘制指定的文本字符串。 Layer 类表示 PSD 层。该类的DrawImage(Point, RasterImage)方法在图层上绘制图像。我们可以使用 Save(string, ImageOptionsBase) 方法将 PSD 保存到指定的文件位置。

下载 DLL API 或使用 NuGet 安装它。

PM> Install-Package Aspose.PSD

使用 C# 将文本水印添加到 PSD

我们可以按照以下步骤将任何文本作为水印添加到 PSD 文件中:

  1. 首先,使用 Image 类将 PSD 文件加载为 PsdImage。
  2. 接下来,创建 Graphics 类的实例。
  3. 然后,定义一个 Font 类对象来绘制水印宽度。
  4. 接下来,使用颜色创建 SolidBrush 类的实例。
  5. 然后,指定字符串对齐方式。
  6. 之后,调用 DrawString() 方法。
  7. 最后,使用 Save() 方法保存输出文件。

以下代码示例展示了如何在 C# 中将文本水印添加到 PSD 文件。

// 此代码示例显示如何将文本水印添加到 PSD 文件
// 将 PSD 文件加载为图像并将其转换为 PsdImage
PsdImage psdImage = (PsdImage)Image.Load(@"C:\Files\SimplePSD.psd");

// 创建图形对象以执行绘制操作。
Graphics graphics = new Graphics(psdImage);

// 创建用于绘制水印的字体。
Font font = new Font("Arial", 25.0f);

// 创建一个颜色 alpha 设置为接近 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());
使用 C# 将文本水印添加到 PSD

使用 C# 将文本水印添加到 PSD

我们还可以使用以下代码示例将输出保存为 PSD 文件:

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

使用 C# 在 PSD 中创建对角线水印

我们可以按照以下步骤在 PSD 文件中添加对角线文本水印:

  1. 首先,使用 Image 类将 PSD 文件加载为 PsdImage。
  2. 接下来,创建 Graphics 类的实例。
  3. 然后,定义一个 Font 类对象来绘制水印宽度。
  4. 同时,创建一个带有颜色的 SolidBrush 类的实例。
  5. 然后,指定变换矩阵来旋转水印。
  6. 稍后,指定字符串对齐方式。
  7. 之后,调用 DrawString() 方法。
  8. 最后,使用 Save() 方法保存输出文件。

以下代码示例展示了如何在 C# 中向 PSD 文件添加对角线文本水印。

// 此代码示例显示如何向 PSD 文件添加对角线文本水印
// 将 PSD 文件加载为图像并将其转换为 PsdImage
PsdImage psdImage = (PsdImage)Image.Load(@"C:\Files\SimplePSD.psd");

// 创建图形对象以执行绘制操作
Graphics graphics = new Graphics(psdImage);

// 创建用于绘制水印的字体
Font font = new Font("Arial", 25.0f);

// 创建一个颜色 alpha 设置为接近 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());
使用 C# 在 PSD 中创建对角线水印

使用 C# 在 PSD 中创建对角线水印

使用 C# 将图像水印添加到 PSD

我们还可以按照以下步骤将图像作为水印添加到 PSD 文件中:

  1. 首先,使用 Image 类将 PSD 文件加载为 PsdImage。
  2. 接下来,创建 Layer 类的实例。
  3. 然后,设置图层的高度、宽度和不透明度。
  4. 接下来,调用 AddLayer() 方法将图层添加到 PSD。
  5. 之后,将水印图像加载到图层中。
  6. 然后,将图像水印添加到图层。
  7. 之后,调用 DrawImage() 方法。它将位置和水印图像层作为参数。
  8. 最后,使用 Save() 方法保存输出文件。

以下代码示例展示了如何在 C# 中将图像水印添加到 PSD 文件中。

// 此代码示例显示如何将图像水印添加到 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());
使用 C# 将图像水印添加到 PSD

使用 C# 将图像水印添加到 PSD

获得免费临时许可证

您可以获得免费的临时许可证 试用 Aspose.PSD for .NET,不受评估限制。

结论

在本文中,我们学习了如何:

  • 向 PSD 图像添加新图层;
  • 将水印文本或图像添加到 PSD;
  • 使用 C# 将 PSD 保存为 PNG 或 PSD 图像。

除了在 C# 中为 PSD 添加水印外,您还可以使用 documentation 了解更多关于 Aspose.PSD for .NET 的信息,并探索 API 支持的不同功能。如有任何歧义,请随时在我们的 免费支持论坛 上与我们联系。

也可以看看