如何在 PSD 文件中绘制和编辑格式,使用 Aspose.PSD 为 .NET
如何在 PSD 文件中绘制和编辑格式,使用 Aspose.PSD 为 .NET
在 PSD 文件中编辑和绘制格式的程序,会启动模板、组合艺术作品和生成设计的自动化。
现实世界问题
更新或在 PSD 中创建数百个旗帜、模板或创意资产的 vector 图形是无聊的,但在代码中很容易。
解决方案概述
使用 Aspose.PSD for .NET 创建、更新或风格形状层 - 编程修改填充、路径和 vector 属性。
原則
- Visual Studio 2019 或以后
- .NET 6.0 或更高版本(或 .Net Framework 4.6.2+)
- Aspose.PSD 为 .NET 从 NuGet
- 现有 PSD 文件或计划创建新格式
PM> Install-Package Aspose.PSD
步骤实施
步骤1:上传或创建 PSD 文件
using Aspose.PSD;
using Aspose.PSD.FileFormats.Psd;
using Aspose.PSD.FileFormats.Psd.Layers;
using Aspose.PSD.FileFormats.Psd.Layers.Shapes;
string inputFile = "./input/sample_with_shape.psd";
string outputFile = "./output/sample_shape_edited.psd";
var loadOptions = new PsdLoadOptions() { LoadEffectsResource = true };
PsdImage psdImage = (PsdImage)Image.Load(inputFile, loadOptions);
步骤2:设置形状层
ShapeLayer shapeLayer = null;
foreach (var layer in psdImage.Layers)
{
if (layer is ShapeLayer s)
{
shapeLayer = s;
break;
}
}
if (shapeLayer == null)
{
throw new InvalidOperationException("No shape layer found in PSD.");
}
步骤3:编辑形状的路径和填写
// Change fill color
shapeLayer.Fill = new FillLayer(new GradientFillSettings());
// Edit the path (add a new bezier knot for example)
var pathShape = new PathShape();
pathShape.SetItems(
new BezierKnotRecord[] {
new BezierKnotRecord() {
Points = new Point[] {
new Point(5, 5),
new Point(25, 45),
new Point(32, 42) } } }
);
shapeLayer.Path.SetItems(new PathShape[] { pathShape });
步骤4:保存编辑的PSD
psdImage.Save(outputFile);
psdImage.Dispose();
使用案例和应用程序
- 创建模板的 vector 图形
- 更新品牌形状在资产中包装
- 创建动态艺术作品为网页或印刷
共同挑战与解决方案
复杂路径: 使用 API 的 vector 工具来编写复杂格式。
视觉验证: 在Photoshop中总是查看结果。
最佳实践
- 使用命名协议以针对正确的形状
- 保持原始 PSDs for rollbacks
- 自动化后输出验证
FAQ
**Q:我可以从切割中创建一个新的形状层吗?**A: 是的 - 查看 API 文件 ShapeLayer
创作。
**Q:格拉迪安和填充器是否支持?**A:是的 -GradientFillSettings
还有更多可用。
结论
Aspose.PSD for .NET 允许创意团队在 PSD 中自动编辑 vector 和塑造层。 Aspose.PSD 为 .NET API 参考 .