提供3000多款全球软件/控件产品
针对软件研发的各个阶段提供专业培训与技术咨询
根据客户需求提供定制化的软件开发服务
全球知名设计软件,显著提升设计质量
打造以经营为中心,实现生产过程透明化管理
帮助企业合理产能分配,提高资源利用率
快速打造数字化生产线,实现全流程追溯
生产过程精准追溯,满足企业合规要求
以六西格玛为理论基础,实现产品质量全数字化管理
通过大屏电子看板,实现车间透明化管理
对设备进行全生命周期管理,提高设备综合利用率
实现设备数据的实时采集与监控
利用数字化技术提升油气勘探的效率和成功率
钻井计划优化、实时监控和风险评估
提供业务洞察与决策支持实现数据驱动决策
翻译|使用教程|编辑:李显亮|2020-06-10 10:58:58.477|阅读 356 次
概述:用于.NET API的Aspose.PSD提供了许多与PSD,PSB,AI和许多其他文件格式一起使用的功能。让我们探讨以下与在PSD文件中添加图层有关的用例。
# 慧都年终大促·界面/图表报表/文档/IDE等千款热门软控件火热促销中 >>
照片是反映信息的一种非常有用的方法。PSD格式文件用于创建图像。但是,可能会出现类似沿同一行编辑多个Photoshop文件的情况。例如,照片处理应用程序可能需要与其他操作一起在多个Photoshop文档中添加一个图层。
用于.NET API的Aspose.PSD提供了许多与PSD,PSB,AI和许多其他文件格式一起使用的功能。让我们探讨以下与在PSD文件中添加图层有关的用例:
Aspose.PSD for .NET已升级至V20.5,如果你还没有用过Aspose.PSD可以点击这里下载最新版测试。
用于.NET API的Aspose.PSD支持在PSD文件中创建填充层。您不一定需要从现有文件加载图层。只需按照以下步骤在运行时在PSD文件中添加填充层:
以下代码段显示了如何使用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#代码所设置的完全相同:
让我们看看如何从现有的Photoshop文件中添加图层。以下是添加现有填充层的可能性:
图案填充可能具有图像,线条或阴影来填充该区域。您需要按照以下步骤在PSD图像中添加带有Patten Fill的图层:
下面的代码段显示了如何使用C#使用模式填充添加填充层:
// Add support of Fill layers: Pattern string 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); }
可以使用渐变填充在Photoshop文档中填充图层。用于.NET API的Aspose.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文件的层中填充不同的渐变。
可以在Photoshop文档(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; } } }
本站文章除注明转载外,均为本站原创或翻译。欢迎任何形式的转载,但请务必注明出处、不得修改原文相关链接,如果存在内容上的异议请邮件反馈至chenjj@cahobeh.cn
本文探讨 SQL Server 中 NULL 和空值之间的区别,并讨论如何有效地处理它们。
Unity 是一款功能极其丰富的游戏引擎,允许开发人员将各种媒体集成到他们的项目中。但是,它缺少最令人兴奋的功能之一 - 将 Web 内容(例如 HTML、CSS 和 JavaScript)直接渲染到 3D 场景中的纹理上的能力。在本文中,我们将介绍如何使用 DotNetBrowser 在 Unity3D 中将 Web 内容渲染为纹理。
DevExpress v24.2帮助文档正式发布上线了,请按版本按需下载~
本教程将向您展示如何用MyEclipse构建一个Web项目,欢迎下载最新版IDE体验!
服务电话
重庆/ 023-68661681
华东/ 13452821722
华南/ 18100878085
华北/ 17347785263
客户支持
技术支持咨询服务
服务热线:400-700-1020
邮箱:sales@cahobeh.cn
关注我们
地址 : 重庆市九龙坡区火炬大道69号6幢