彩票走势图

图形处理控件Aspose.PSD 入门教程(2):使用 C# 以编程方式在 PSD 中添加新图层

翻译|使用教程|编辑:胡涛|2022-09-21 11:05:04.190|阅读 446 次

概述:在本文中,我们将学习如何使用 C# 在 PSD 中添加新图层。

# 慧都年终大促·界面/图表报表/文档/IDE等千款热门软控件火热促销中 >>

相关链接:

Aspose.PSD for .NET 是高级PSD文件格式操作API,没有任何Adobe Photoshop依赖项。API允许创建或编辑Photoshop文件,并提供更新图层属性,添加水印,执行图形操作或将一种文件格式转换为另一种文件的功能。

Aspose.PSD for .NET支持PSD和PSB文件格式进行加载和处理,并允许导出为各种光栅图像格式,例如TIFF,JPEG,PNG,GIF,BMP等。

Aspose.PSD 最新下载

PSD(Photoshop 文档)是 Adobe 流行的 Photoshop 应用程序使用的原生图像文件格式。它通常用于创建 PSD 文件包含多个图层的徽标、小册子和其他图像。在某些情况下,我们可能需要以编程方式操作 PSD 文件。在本文中,我们将学习如何使用 C# 在 PSD 中添加新图层。

(一)对C# API 在 PSD 中添加新层

要在 PSD 文件中创建新层,我们将使用Aspose.PSD for .NET API。它支持创建、编辑或操作 PSD 和其他几种受支持的文件格式。

API的PsdImage类允许加载、编辑和保存 PSD 文件。此类的AddRegularLayer()方法添加了一个新的常规层。而AddTextLayer(string, Rectangle)方法将一个新的文本图层添加到 PSD。此类还提供将 PSD 保存到指定文件位置的Save(string)方法。

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

PM> Install-Package Aspose.PSD
(二) 使用 C# 将新图层添加到 PSD

我们可以按照以下步骤向 PSD 文件添加新图层:

  1. 首先,使用Image类将 PSD 文件加载为PsdImage 。
  2. 接下来,准备一个要添加的对象,例如 Rectangle。
  3. 然后,调用AddRegularLayer()方法。
  4. (可选)设置图层位置,例如顶部、左侧、右侧和底部。
  5. 之后,使用SaveArgb32Pixels()方法将对象分配给图层。
  6. 最后,使用Save()方法保存输出文件。

以下代码示例显示了如何在 C# 中向 PSD 文件添加新图层

// This code example demonstrates how to create new layers in PSD image file.
string sourceFileName = @"C:\Files\PSD\OneLayer.psd";
string exportPath = @"C:\Files\PSD\OneLayerEdited.psd";

// Load an existing PSD
var im = (PsdImage)Image.Load(sourceFileName);

// Preparing two int arrays
var data1 = new int[2500];
var data2 = new int[2500];

// Define rectangles
var rect1 = new Rectangle(0, 0, 50, 50);
var rect2 = new Rectangle(0, 0, 100, 25);

for (int i = 0; i < 2500; i++)
{
data1[i] = -10000000;
data2[i] = -10000000;
}

// Add Layer 1
var layer1 = im.AddRegularLayer();
layer1.Left = 25;
layer1.Top = 25;
layer1.Right = 75;
layer1.Bottom = 75;
layer1.SaveArgb32Pixels(rect1, data1);

// Add Layer 2
var layer2 = im.AddRegularLayer();
layer2.Left = 25;
layer2.Top = 150;
layer2.Right = 125;
layer2.Bottom = 175;
layer2.SaveArgb32Pixels(rect2, data2);

// Save PSD
im.Save(exportPath, new PsdOptions());

以编程方式使用 CSharp 将新层添加到 PSD

(三)使用 C# 将新文本图层添加到 PSD

我们可以按照以下步骤将新的文本图层添加到 PSD 文件中:

  1. 首先,使用Image类将 PSD 文件加载为PsdImage 。
  2. 接下来,定义一个矩形。
  3. 然后,调用AddTexLayer()方法。它接受文本输入和一个矩形对象作为参数。
  4. 之后,设置图层位置,例如上、左、右和下。
  5. 最后,使用Save()方法保存输出文件。

以下代码示例展示了如何在 C# 中向 PSD 文件添加新的文本层

// This code example demonstrates how to create new layers in PSD image file.
string sourceFileName = @"C:\Files\PSD\OneLayer.psd";
string exportPath = @"C:\Files\PSD\TextLayer.psd";

// Load an existing PSD
var im = (PsdImage)Image.Load(sourceFileName);

// Add a text layer
var layer1 = im.AddTextLayer("Hello", new Rectangle(0, 0, 120, 50));
layer1.Left = 10;
layer1.Top = 25;

// Save PSD
im.Save(exportPath, new PsdOptions());

以编程方式使用 CSharp 将新层添加到 PSD

(四)使用 C# 从 PSD 中的图像创建新图层

我们还可以按照以下步骤将 PNG 或 JPG 图像中的新图层添加到 PSD 文件中:

  1. 首先,使用Image类将 PSD 文件加载为PsdImage 。
  2. 接下来,在流中打开 PNG 图像文件。
  3. 然后,使用流对象创建Layer类的实例。
  4. 之后,调用AddLayer()方法。它将Layer对象作为参数。
  5. 最后,使用Save()方法保存输出文件。

以下代码示例展示了如何将新图层从 PNG 图像添加到 C# 中的 PSD 文件

// This code example demonstrates how to create new layer from a PNG image in PSD image file.
string outputFilePath = @"C:\Files\PSD\PsdResult.psd";

// Create a new PSD image
var image = new PsdImage(200, 200);

// Load a PNG image
string filePath = @"C:\Files\PSD\aspose_logo.png";
var stream = new FileStream(filePath, FileMode.Open);

Layer layer = null;
try
{
// Add layer to PSD
layer = new Layer(stream);
image.AddLayer(layer);
}
catch (Exception e)
{
if (layer != null)
{
layer.Dispose();
}
throw e;
}

// Save PSD
image.Save(outputFilePath);

Create-New-Layer-from-Image-in-PSD-using-CSharp

以上便是如何使用通过aspose.psd C# 在 PSD 中添加新图层,希望能对您有所帮助,如果您还有其他疑问,欢迎查阅本系列其他教程,或者私信我们获取帮助~


欢迎下载|体验更多Aspose文档管理产品 
获取更多信息请咨询 或 加入Aspose技术交流群(761297826

标签:

本站文章除注明转载外,均为本站原创或翻译。欢迎任何形式的转载,但请务必注明出处、不得修改原文相关链接,如果存在内容上的异议请邮件反馈至chenjj@pclwef.cn


为你推荐

  • 推荐视频
  • 推荐活动
  • 推荐产品
  • 推荐文章
  • 慧都慧问
扫码咨询


添加微信 立即咨询

电话咨询

客服热线
023-68661681

TOP