2010-12-04 1 views
8

Я хочу получить все слои из файла PSD и получить их имя, положение X и Y.Как я могу получить слои из PSD-файла?

Есть ли C# Lib, который может это сделать?

У меня есть tried this lib из CodeProject, но я всегда получаю TargetInvokeException. Мои PSD файлы из Photoshop CS5 ...


Изучение Paint.NET, как Робин предложил я мог бы попасть в этот код:

var ps = new PsdFile(); 
ps.Load(file); 
var name = ps.Layers[0].Name; 
var xy = ps.Layers[0].Location; 

мне нужно, чтобы включить эти ссылки:

+0

Пожалуйста, вы можете обновить ссылку на PaintDotNet.Core.dll? благодаря! – greenfeet 2015-07-20 08:28:40

+1

@greenfeet, если вы устанавливаете Paint.NET, вы можете получить библиотеки DLL из установочного каталога – BrunoLM 2015-07-20 21:47:15

ответ

4

Вы можете использовать PSD-плагин для Paint.NET для этого.

Должно быть достаточно легко извлечь библиотеку анализатора оттуда.

http://psdplugin.codeplex.com/

0

я не установил Photoshop, так что я не знаю, если это может работать, но может быть как GIMP или Photoshop (или связанные с программным обеспечением) экспорта COM сборки, которые вы можете использовать, так же, как Office Suite делает ....

Надеюсь это поможет.

1

0xA3 дает ответ в this потоке. Я лично не использовал эту библиотеку, но кажется, что она довольно проста и работает хорошо.

\ Direct Copy \

библиотеки ImageMagick (которые обеспечивают привязки для C#) также поддерживают PSD формат. С ними может быть проще начать, чем попасть в код Paint.NET, а также получить совершенно бесплатную (BSD-подобную) лицензию.

Простой пример (найденный в http://midimick.com/magicknet/magickDoc.html) с помощью 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 переехал в http://www.codeproject.com/KB/dotnet/ImageMagick_in_VBNET.aspx

Смежные вопросы