Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/.net/22.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 如何从PSD文件中获取图层?_C#_.net_Photoshop - Fatal编程技术网

C# 如何从PSD文件中获取图层?

C# 如何从PSD文件中获取图层?,c#,.net,photoshop,C#,.net,Photoshop,我想从PSD文件中检索所有层,并获取它们的名称、X和Y位置 有没有一个C#Lib可以做到这一点 我是CodeProject的,但我总是收到TargetInvokeException。我的PSD文件来自Photoshop CS5 按照Robin的建议探索Paint.NET,我可以获得以下代码: var ps = new PsdFile(); ps.Load(file); var name = ps.Layers[0].Name; var xy = ps.Layers[0].Location;

我想从PSD文件中检索所有层,并获取它们的名称、X和Y位置

有没有一个C#Lib可以做到这一点

我是CodeProject的,但我总是收到TargetInvokeException。我的PSD文件来自Photoshop CS5


按照Robin的建议探索Paint.NET,我可以获得以下代码:

var ps = new PsdFile();
ps.Load(file);
var name = ps.Layers[0].Name;
var xy = ps.Layers[0].Location;
我需要包括这些参考资料:


我没有安装Photoshop,因此我不知道这是否可行,但可能是GIMP或Photoshop(或相关软件)导出您可以使用的COM组件,就像Office套件一样


希望这能有所帮助。

您可以使用Paint.NET的PSD插件来完成这项工作

从那里提取解析器库应该相当容易

0xA3在线程中给出答案。我个人并没有使用过这个库,但它看起来非常简单,而且运行良好

\直接拷贝\

ImageMagick库(为C#提供绑定)也支持PSD格式。它们可能比进入Paint.NET代码更容易入门,而且还附带了一个相当免费(类似BSD)的许可证

使用MagickNet的简单示例(位于)如下所示:

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已移至

我在Adobe中找不到任何COM。。。我错过什么了吗?我使用的是Windows 7 x64…您能更新PaintDotNet.Core.dll的链接吗?谢谢@绿脚如果安装Paint.NET,则可以从安装目录获取DLL