2009-07-22 20 views
19

मुझे बनाने के लिए एक स्तरित PSD फ़ाइल ImageMagick या लिनक्स प्लेटफॉर्म पर उपलब्ध किसी भी अन्य कमांड लाइन उपकरण के साथ की आवश्यकता है। चूंकि मुझे इसे लिनक्स सर्वर पर करने की ज़रूरत है, इसलिए मैं फ़ोटोशॉप स्क्रिप्टिंग का उपयोग नहीं कर सकता।कमांड लाइन से एक स्तरित PSD फ़ाइल कैसे बनाएं?

नीचे छविमैजिक कमांड एक ही परत के साथ PSD फ़ाइल बनाता है, जहां दो छवियां (यहां: प्लाज्मा फ्रैक्टल) एक दूसरे से नीचे स्थित हैं। (मैं ImageMagick 6.5.3-10 2009-07-31 प्रश्न 16, MacPorts में नवीनतम उपलब्ध का उपयोग करें।)

convert -size 100x100 plasma:fractal plasma:fractal -append out.psd 

मैं एक PSD फ़ाइल जहां प्रत्येक छवि अपनी ही परत में है कैसे बना सकता हूँ, और एक परत है सीधे एक से ऊपर?

या, क्या कोई अन्य कमांड लाइन उपकरण है जो मुझे ऐसा करने की अनुमति देगा?

अद्यतन: जीआईएमपी कमांड लाइन से कोई अन्य विकल्प?

उत्तर

13

यदि छवि मैगिक काम नहीं करेगा, तो मैं Gimp command line पर देखता हूं।

निम्न कमांड इंटरैक्टिव कंसोल में मेरे लिए एक 2-परत PSD फ़ाइल बनाई:

> (gimp-image-new 200 200 0) 
(1) 
> (gimp-layer-new 1 200 200 0 "layer-1" 100 0) 
(2) 
> (gimp-layer-new 1 200 200 0 "layer-2" 100 0) 
(3) 
> (file-psd-save 0 1 0 "test.psd" "test.psd" 0 0) 
> (gimp-image-add-layer 1 2 -1) 
> (gimp-image-add-layer 1 3 -1) 
> (file-psd-save 0 1 1 "test.psd" "test.psd" 0 0) 

कि एक स्क्रिप्ट फू लिपि (.scm फ़ाइल) में परिवर्तित करने की आवश्यकता होगी और से क्रियान्वित किया जा सकता है इस तरह कुछ के साथ कमांड लाइन:

gimp -i -b '(your-script-name "test.psd" 200 200)' -b '(gimp-quit 0)' 
+0

ऐसा नहीं है कि ImageMagick काम नहीं करेगा, यह है कि मुझे नहीं पता कि इसे कैसे ठीक से काम करना है ... जिंप का उपयोग करने के लिए दिलचस्प विचार है, धन्यवाद। हालांकि, मैं एक्स विंडो सिस्टम और जीनोम के बिना सर्वर पर स्थापित करने की आवश्यकता से थोड़ा चिंतित हूं ... क्या यह थोड़ा भारी नहीं होगा? –

+0

गिंप छविमैजिक से निश्चित रूप से भारी है, और जो मैंने पढ़ा है, वह इसे जल्दी से करने वाला नहीं है। लेकिन मैं ImageMagick के बारे में जो पढ़ता हूं, उससे मुझे यकीन नहीं है कि यह स्तरित PSD बना सकता है, बस उन्हें संपादित या फ़्लैटन करें। –

3

यहाँ आप के लिए कुछ उपयोगी लिंक है:

दूसरी कड़ी पीएचपी साथ उपयोग करने के लिए है, लेकिन यह ImageMagick, कार्यान्वित केवल आदेशों का उपयोग करें, सभी PHP वाक्यविन्यास नहीं, केवल निष्पादन कोड की लाइन।

आशा है कि मैं आपकी मदद कर रहा हूं!

+0

डाउन वोट क्यों ?????????? –

+1

क्षमा करें, लेकिन क्या आप कृपया मुझे बता सकते हैं कि उन लिंक में कहां बताया गया है कि ** ** परतों के साथ PSD फ़ाइल कैसे बनाएं? –

3

आप छवि अनुक्रम को गठबंधन करने के लिए -adjoin का उपयोग कर सकते हैं।

convert -size 100x100 -alpha set plasma:fractal -alpha set plasma:fractal -adjoin out.psd 
  • अल्फा चैनल PSD सांकेतिक शब्दों में बदलनेवाला के लिए आवश्यक हैं।
  • छवियों का क्रम शीर्ष परत तक नीचे की परत है।
  • सेटिंग्स के आधार पर फ़ोटोशॉप और जीआईएमपी के साथ बहुत संगतता समस्याएं हैं।

का उपयोग करना:

  • ImageMagick 6.5।4-6
  • फ़ोटोशॉप CS2
+0

वास्तव में कुछ संगतता समस्याएं हैं। फ़ोटोशॉप सीएस 4 और ओएस एक्स दोनों अंतर्निहित पूर्वावलोकनकर्ता स्पष्ट रूप से परिणामी छवि को खोलने से इंकार कर देते हैं।:-( –

+0

फ़ोटोशॉप सीएस 2 के साथ काम करने के लिए कमांड को अपडेट किया गया है, लेकिन मैं CS4 – Jared314

+0

का परीक्षण नहीं कर सकता हूं फिर भी न तो CS4 और न ही CS3 और न ही ओएस एक्स व्यूअर के साथ काम नहीं करता है। फ़ोटोशॉप कहता है: "परत डेटा पढ़ने में कोई समस्या थी। समग्र डेटा पढ़ें इसके बजाय? "और फिर" आपका अनुरोध पूरा नहीं हो सका क्योंकि फ़ाइल फ़ोटोशॉप के इस संस्करण के साथ संगत नहीं है। –

7

मैं नीचे कमांड लाइन का उपयोग करें। मुझे फ़ोटोशॉप में जेनरेट किए गए PSD को खोलने में कोई समस्या नहीं आई है, हालांकि प्रत्येक परत पृष्ठभूमि परत के रूप में दिखाई देती है, और परत परत को संपादित करने के लिए आपको इसे एक वास्तविक परत में परिवर्तित करना होगा।

यहां कमांड लाइन है। छवियों की सूची को देखते हुए (im1.xxx, im2.xxx आदि, IM1 नीचे की परत, किया जा रहा है) एक ("LABEL1", "Label2" ...) परतों के लिए लेबल की सूची:

convert (-page +0+0 -label "label1" im1.xxx[0] -background none -mosaic -set colorspace RGB) (-page +0+0 -label "label2" "im2.xxx"[0] -background none -mosaic -set colorspace RGB) (-clone 0--1 -background none -mosaic) -alpha Off -reverse "out.psd" 

कि है, प्रत्येक परत के लिए, आप की तरह

(-page +0+0 -label "optional_label" im1.xxx[0] -background none -mosaic -set colorspace RGB) 

लेबल कुछ/परत के नाम वैकल्पिक है (-label अगर कोई नहीं। निकालने के लिए) [0]im1.xxx[0] में छवि फ़ाइल में पहली छवि को पुन: प्राप्त है, के मामले में वहाँ मौजूद Exif में एक थंबनेल।

पर यूनिक्स/OSX, आप कोष्ठक की रक्षा के लिए है:

\(-page +0+0 -label "optional_label" im1.xxx[0] -background none -mosaic -set colorspace RGB \) 

छवि नाम विशेष वर्ण होते हैं, तो आप उन्हें " साथ (जैसे "c:\my im1.png") किसी भी मुद्दे के बिना रक्षा कर सकते हैं।

उम्मीद है कि इससे मदद मिलती है।

0

मैं जॉन गैलोवे से सहमत हूं, जिंप कंसोल बेहतर choise है। ("ग

(define (pngtopsd width height png-paths psd-path) 
(define (add-layers image png-paths) 
    (if (null? png-paths) 0 
     (let* 
      ((png (car png-paths)) 
      (new-layer (car (gimp-file-load-layer 0 image (car png))))) 

      (gimp-image-insert-layer image new-layer 0 -1) 
      (gimp-item-transform-2d new-layer 0 0 1 1 (cadr png) (caddr png) (cadddr png)) 
      (add-layers image (cdr png-paths)) 
     ) 
    )) 

(let* 
    ((png (car png-paths)) 
    (image (car (gimp-file-load 1 (car png) (car png)))) 
    (drawable (car (gimp-image-get-active-layer image)))) 

    (gimp-image-resize image width height 0 0) 
    (gimp-item-transform-2d drawable 0 0 1 1 (cadr png) (caddr png) (cadddr png))  
    (add-layers image (cdr png-paths)) 
    (file-psd-save 0 image drawable psd-path psd-path 1 0) 
    (gimp-image-delete image) 
)) 

तुम बस नाम" pngtopsd.scm "के साथ फाइल में इस स्क्रिप्ट को जरूरत है अपने जिम्प" स्क्रिप्ट "निर्देशिका के अंदर: \ Program Files \ GIMP 2 \ शेयर \ जिम्प \ 2.0 वहाँ मेरी स्क्रिप्ट है \ स्क्रिप्ट \ "विंडोज़ के लिए) और आप प्रत्येक परत के परिवर्तन (अनुवाद या रोटेशन) के साथ पीएनजी चित्रों की सूची से स्तरित psd बना सकते हैं। प्रयोग नमूना:

gimp-console-2.8.exe -i -b "(pngtopsd (list (list \"c:/../1.png\" 0 500 500) (list \"c:/.../2.png\" 0.7 200 1000) (list \"c:/.../3.jpg\" -0.5 1000 0)) \"c:/.../result.psd\")" 
वहाँ

(सूची \ "c: /.../ 2.png \" 0.7 200 से 1000) का अर्थ है: - 200 से 1000 - 0.7 चित्र के रोटेशन कोण (रेडियन में) है एक छवि पर x और y शिफ्ट

0

आप ImageMagick के साथ एक स्तरित PSD बना सकते हैं, लेकिन ध्यान दें कि पहली छवि वास्तव में पूर्वावलोकन छवि (यानी सभी परतों के समग्र) के रूप में उपयोग की जाती है।

convert -size 100x100 plasma:fractal plasma:fractal plasma:fractal out.psd 

एक 2 स्तरित PSD बनाएगा।