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

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

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

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

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:FilesPSDOneLayer.psd";string exportPath = @"C:FilesPSDOneLayerEdited.psd";// Load an existing PSDvar im = (PsdImage)Image.Load(sourceFileName);// Preparing two int arraysvar data1 = new int[2500];var data2 = new int[2500];// Define rectanglesvar 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 1var layer1 = im.AddRegularLayer();layer1.Left = 25;layer1.Top = 25;layer1.Right = 75;layer1.Bottom = 75;layer1.SaveArgb32Pixels(rect1, data1);// Add Layer 2var layer2 = im.AddRegularLayer();layer2.Left = 25;layer2.Top = 150;layer2.Right = 125;layer2.Bottom = 175;layer2.SaveArgb32Pixels(rect2, data2);// Save PSDim.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:FilesPSDOneLayer.psd";string exportPath = @"C:FilesPSDTextLayer.psd";// Load an existing PSDvar im = (PsdImage)Image.Load(sourceFileName);// Add a text layervar layer1 = im.AddTextLayer("Hello", new Rectangle(0, 0, 120, 50));layer1.Left = 10;layer1.Top = 25;// Save PSDim.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:FilesPSDPsdResult.psd";// Create a new PSD imagevar image = new PsdImage(200, 200);// Load a PNG imagestring filePath = @"C:FilesPSDaspose_logo.png";var stream = new FileStream(filePath, FileMode.Open);Layer layer = null;try{// Add layer to PSDlayer = new Layer(stream);image.AddLayer(layer);}catch (Exception e){if (layer != null){layer.Dispose();}throw e;}// Save PSDimage.Save(outputFilePath);

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

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


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

标签:

来源:慧都

声明:本站部分文章及图片转载于互联网,内容版权归原作者所有,如本站任何资料有侵权请您尽早请联系jinwei@zod.com.cn进行处理,非常感谢!

上一篇 2022年8月18日
下一篇 2022年8月18日

相关推荐

发表回复

登录后才能评论