2010-12-04 25 views
8

Quiero recuperar todas las capas de un archivo PSD y obtener su nombre, posición X e Y.¿Cómo puedo obtener las capas de un archivo PSD?

¿Hay un C# Lib que pueda hacer eso?

Tengo tried this lib de CodeProject, pero siempre recibo TargetInvokeException. Mis archivos PSD son de Photoshop CS5 ...


Exploración de Paint.NET como Robin sugirió que podía llegar a este código:

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

que necesitaba para incluir estas referencias:

+0

puede usted por favor, actualice el enlace para PaintDotNet.Core.dll? ¡Gracias! – greenfeet

+1

@ greenfeet si instala Paint.NET puede obtener los archivos DLL del directorio de instalación – BrunoLM

Respuesta

4

Puede usar el complemento PSD para Paint.NET para hacerlo.

Debería ser bastante fácil extraer la biblioteca del analizador desde allí.

http://psdplugin.codeplex.com/

0

no tengo instalado Photoshop así que no sé si esto podría funcionar, pero tal vez sea GIMP o Photoshop (o software relacionado) COM asambleas de exportación que se pueden utilizar, al igual que el paquete Office hace ....

Espero que esto ayude.

+0

No pude encontrar ningún COM de Adobe ... ¿Perdí algo? Estoy en Windows 7 x64 ... – BrunoLM

1

0xA3 da una respuesta en this hilo. No he usado personalmente esta biblioteca, pero parece que es bastante simple y funciona bien.

\ copia directa \

Las bibliotecas de ImageMagick (que proporcionan enlaces para C#) también soporta el formato PSD. Podrían ser más fáciles de empezar que ingresar al código de Paint.NET y también tener una licencia bastante libre (BSD).

Una simple muestra (que se encuentra en http://midimick.com/magicknet/magickDoc.html) usando MagickNet se vería así:

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(); 
} 

Nota: MagickNet se ha trasladado a http://www.codeproject.com/KB/dotnet/ImageMagick_in_VBNET.aspx

Cuestiones relacionadas