我想从PSD文件中检索所有图层并获取其名称,X和Y位置。
是否有可以做到的C#Lib?
我来自CodeProject tried this lib,但我总是得到TargetInvokeException。我的PSD文件来自Photoshop CS5 ......
探索Paint.NET,因为Robin建议我可以使用此代码:
var ps = new PsdFile();
ps.Load(file);
var name = ps.Layers[0].Name;
var xy = ps.Layers[0].Location;
我需要包含这些引用:
答案 0 :(得分:4)
答案 1 :(得分:1)
0xA3在this线程中给出答案。我没有亲自使用过这个库,但它看起来非常简单并且运行良好。
\ Direct Copy \
ImageMagick库(为C#提供绑定)也支持PSD格式。它们可能比开始使用Paint.NET代码更容易上手,并且还提供了一个非常免费(类似BSD)的许可证。
使用MagickNet的简单示例(在http://midimick.com/magicknet/magickDoc.html找到)将如下所示:
using System;
static void Main(string[] args)
{
MagickNet.Magick.Init();
MagicNet.Image img = new MagicNet.Image("file.psd");
img.Resize(System.Drawing.Size(100,100));
img.Write("newFile.png");
MagickNet.Magick.Term();
}
注意:MagickNet已移至http://www.codeproject.com/KB/dotnet/ImageMagick_in_VBNET.aspx
答案 2 :(得分:0)
我没有安装Photoshop,所以我不知道这是否可行,但可能是GIMP或Photoshop(或相关软件)导出可以使用的COM程序集,就像Office套件一样....
希望这有帮助。