用于.NET API的Aspose.PSD提供了许多与PSD,PSB,AI和许多其他文件格式一起使用的功能。让我们探讨以下与在PSD文件中添加图层有关的用例。
用于.NET API的Aspose.PSD提供了许多与PSD,PSB,AI和许多其他文件格式一起使用的功能。让我们探讨以下与在PSD文件中添加图层有关的用例:
- 使用C#在运行时在PSD文件中添加填充层
-
使用C#在PSD文件中添加现有填充层
- 使用图案填充添加图层
- 使用渐变填充添加图层
- 使用颜色填充添加图层
Aspose.PSD for .NET已升级至V20.5,如果你还没有用过Aspose.PSD可以点击这里下载最新版测试。
使用C#在运行时在Photoshop文档中添加填充层
用于.NET API的Aspose.PSD支持在PSD文件中创建填充层。您不一定需要从现有文件加载图层。只需按照以下步骤在运行时在PSD文件中添加填充层:
- 用页面尺寸初始化PsdImage类的实例
- 创建FillLayer类的实例
- 设置图层的显示名称
- 将图层添加到图像
以下代码段显示了如何使用C#在Photoshop中添加填充层:
string outputFilePath = Path.Combine(dataDir, "output.psd");using (var image = new PsdImage(100, 100)){ FillLayer colorFillLayer = FillLayer.CreateInstance(Aspose.PSD.FileFormats.Psd.Layers.FillSettings.FillType.Color); colorFillLayer.DisplayName = "Color Fill Layer"; image.AddLayer(colorFillLayer); FillLayer gradientFillLayer = FillLayer.CreateInstance(Aspose.PSD.FileFormats.Psd.Layers.FillSettings.FillType.Gradient); gradientFillLayer.DisplayName = "Gradient Fill Layer"; image.AddLayer(gradientFillLayer); FillLayer patternFillLayer = FillLayer.CreateInstance(Aspose.PSD.FileFormats.Psd.Layers.FillSettings.FillType.Pattern); patternFillLayer.DisplayName = "Pattern Fill Layer"; patternFillLayer.Opacity = 50; image.AddLayer(patternFillLayer); image.Save(outputFilePath);}
此代码段将生成指定尺寸的PSD文件,其中以下屏幕截图显示了三个填充层的名称,这些名称与上述C#代码所设置的完全相同:

使用C#在PSD文件中添加现有填充层
让我们看看如何从现有的Photoshop文件中添加图层。以下是添加现有填充层的可能性:
使用C#添加带有图案填充的图层
图案填充可能具有图像,线条或阴影来填充该区域。您需要按照以下步骤在PSD图像中添加带有Patten Fill的图层:
- 加载源PSD文件
- 遍历所有图层并检查FillLayer
- 为图层设置不同的设置
- 保存图像
下面的代码段显示了如何使用C#使用模式填充添加填充层:
// Add support of Fill layers: Patternstring sourceFileName = dataDir + "PatternFillLayer.psd";string exportPath = dataDir + "PatternFillLayer_Edited.psd";double tolerance = 0.0001;var im = (PsdImage)Image.Load(sourceFileName);using (im){ foreach (var layer in im.Layers) { if (layer is FillLayer) { FillLayer fillLayer = (FillLayer)layer; PatternFillSettings fillSettings = (PatternFillSettings)fillLayer.FillSettings; if (fillSettings.HorizontalOffset != -46 || fillSettings.VerticalOffset != -45 || fillSettings.PatternId != "a6818df2-7532-494e-9615-8fdd6b7f38e5" || fillSettings.PatternName != "$$$/Presets/Patterns/OpticalSquares=Optical Squares" || fillSettings.AlignWithLayer != true || fillSettings.Linked != true || fillSettings.PatternHeight != 64 || fillSettings.PatternWidth != 64 || fillSettings.PatternData.Length != 4096 || Math.Abs(fillSettings.Scale - 50) > tolerance) { throw new Exception("PSD Image was read wrong"); } // Editing fillSettings.Scale = 300; fillSettings.HorizontalOffset = 2; fillSettings.VerticalOffset = -20; fillSettings.PatternData = new int[] { Color.Red.ToArgb(), Color.Blue.ToArgb(), Color.Blue.ToArgb(), Color.Blue.ToArgb(), Color.Red.ToArgb(), Color.Blue.ToArgb(), Color.Blue.ToArgb(), Color.Blue.ToArgb(), Color.Red.ToArgb() }; fillSettings.PatternHeight = 3; fillSettings.PatternWidth = 3; fillSettings.AlignWithLayer = false; fillSettings.Linked = false; fillSettings.PatternId = Guid.NewGuid().ToString(); fillLayer.Update(); break; } } im.Save(exportPath);}
使用C#添加带有渐变填充的图层
可以使用渐变填充在Photoshop文档中填充图层。用于.NET API的Aspose.PSD支持以下类型的渐变填充:
- 线性
- 菱形
- 径向
- 折线
- 角
以下是添加带有渐变填充的图层的步骤:
- 加载源PSD文件
- 初始化GradientType的集合
- 声明GradientFillSettings类的实例
- 指定GradientType并更新图层
- 保存PSD图像
下面的代码段基于这些步骤,并显示了如何使用C#在Photoshop文档中添加GradientFill层:
string fileName = dataDir + "FillLayerGradient.psd";GradientType[] gradientTypes = new[]{ GradientType.Linear, GradientType.Radial, GradientType.Angle, GradientType.Reflected, GradientType.Diamond};using (var image = Image.Load(fileName)){ PsdImage psdImage = (PsdImage)image; FillLayer fillLayer = (FillLayer)psdImage.Layers[0]; GradientFillSettings fillSettings = (GradientFillSettings)fillLayer.FillSettings; foreach (var gradientType in gradientTypes) { fillSettings.GradientType = gradientType; fillLayer.Update(); psdImage.Save(fileName + "_" + gradientType.ToString() + ".png", new PngOptions() { ColorType = PngColorType.TruecolorWithAlpha }); }}
此代码段将生成五个不同的文件,每个文件在PSD文件的层中填充不同的渐变。
使用C#添加带有颜色填充的图层
可以在Photoshop文档(PSD文件)中添加带有颜色填充的图层。请按照以下步骤添加或创建带有颜色填充的填充层:
- 加载源PSD图像
- 检查所有图层并找到FillLayer
- 检查所有图层并找到FillLayer
- 设置填充颜色并更新图层
- 保存PSD图像
以下代码段基于上述步骤,这些步骤显示了如何使用C#在Photoshop文档中添加填充层:
string sourceFileName = dataDir + "ColorFillLayer.psd";string exportPath = dataDir + "ColorFillLayer_output.psd";var im = (PsdImage)Image.Load(sourceFileName);using (im){ foreach (var layer in im.Layers) { if (layer is FillLayer) { var fillLayer = (FillLayer)layer; if (fillLayer.FillSettings.FillType != FillType.Color) { throw new Exception("Wrong Fill Layer"); } var settings = (IColorFillSettings)fillLayer.FillSettings; settings.Color = Color.Red; fillLayer.Update(); im.Save(exportPath); break; } }}
还想要更多吗可以点击阅读【2019 · Aspose最新资源整合】,查找需要的教程资源。如果您有任何疑问或需求,请随时加入Aspose技术交流群(),我们很高兴为您提供查询和咨询。
标签:
声明:本站部分文章及图片源自用户投稿,如本站任何资料有侵权请您尽早请联系jinwei@zod.com.cn进行处理,非常感谢!