2010-12-04 8 views
8

मैं एक PSD फ़ाइल से सभी परतों को पुनर्प्राप्त करना चाहता हूं और उनका नाम, एक्स और वाई स्थिति प्राप्त करना चाहता हूं।मैं एक PSD फ़ाइल से परत कैसे प्राप्त कर सकता हूं?

क्या कोई सी # लिब है जो ऐसा कर सकता है?

मेरे पास कोडप्रोजेक्ट से tried this lib है, लेकिन मुझे हमेशा TargetInvokeException मिलता है। मेरे PSD फ़ाइलें से फ़ोटोशॉप CS5 रहे हैं ...


Paint.NET तलाश के रूप में रॉबिन सुझाव दिया मैं इस कोड को मिल सकता है:

    :

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

    मैं इन संदर्भों को शामिल करने के लिए की जरूरत

  • PhotoShop.dll
  • PaintDotNet.Core.dll
+0

ले जाया गया है आप PaintDotNet.Core.dll के लिए लिंक अपडेट कर लें कर सकते हैं? धन्यवाद! – greenfeet

+1

@ग्रीफेट यदि आप पेंट.नेट स्थापित करते हैं तो आप डीएलएल को इंस्टॉलेशन डीआईआर – BrunoLM

उत्तर

4

आप इसे करने के लिए Paint.NET के लिए PSD-plugin का उपयोग कर सकते हैं।

वहां से पार्सर लाइब्रेरी निकालने के लिए काफी आसान होना चाहिए।

http://psdplugin.codeplex.com/

0

मैं फ़ोटोशॉप स्थापित किया है न तो मैं नहीं पता है कि अगर यह काम कर सकता था, लेकिन शायद या तो GIMP या Photoshop (या संबंधित सॉफ्टवेयर) निर्यात कॉम विधानसभाओं आप उपयोग कर सकते हैं कि, जैसे ऑफिस सुइट करता है ....

उम्मीद है की यह मदद करेगा।

+0

से प्राप्त कर सकते हैं मुझे एडोब से कोई भी COM नहीं मिला ... क्या मुझे कुछ याद आया? मैं विंडोज 7 एक्स 64 पर हूं ... – BrunoLM

1

0xA3 this सूत्र में एक जवाब देता है। मैंने व्यक्तिगत रूप से इस पुस्तकालय का उपयोग नहीं किया है, लेकिन ऐसा लगता है कि यह बहुत आसान है और अच्छी तरह से काम करता है।

\ डायरेक्ट कॉपी \

ImageMagick पुस्तकालयों (जो सी # के लिए बाइंडिंग प्रदान) भी PSD प्रारूप का समर्थन। पेंट.नेट कोड में आने से उन्हें शुरू करना आसान हो सकता है और यह एक बहुत ही मुफ्त (बीएसडी-जैसे) लाइसेंस के साथ आ सकता है।

एक साधारण नमूना (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

संबंधित मुद्दे