2010-10-07 10 views
5

आज जीआईएमपी का उपयोग करना शुरू कर दिया। जब मैं जीआईएमपी में मैन्युअल रूप से कैनवास का आकार बदलता हूं (ताकि यह छवि आकार से छोटा हो) तो यह मुझे छवि को चारों ओर स्थानांतरित करने देता है ताकि मैं देखने योग्य क्षेत्र को "बदल सकूं"। मैं इसे एक स्क्रिप्ट में कैसे दोहरा सकता हूं? दूसरे शब्दों में, मैं चाहता हूं कि स्क्रिप्ट कैनवास आकार बदलने पर रोकें और मुझे छवि को सही तरीके से स्थिति दें।गिंप - एक कैनवास का आकार बदलना

कारण मैं पूछ रहा हूं: मैंने एक छोटी सी लिपि लिखी है जो छवियों के वर्ग थंबनेल बनाएगी। जिस तरह से मैं यह कर रहा हूं वह कैनवास का आकार बदल रहा है ताकि ऊंचाई और चौड़ाई समान हो। यदि ऊंचाई और चौड़ाई अलग है तो मैं दोनों के उच्च को बदलता हूं ताकि यह निचले जैसा ही हो (उदा। 600x500 500x500 हो)। मैं फिर छवि को फ़्लैट करता हूं और जो भी मुझे चाहिए उसे स्केल करता हूं।

(if (>= width height) 
    (begin 
     (gimp-image-resize image height height 0 0) 
    ) 
    (begin 
     (gimp-image-resize image width width 0 0) 
    ) 
) 

कोड जो मैं कैनवास का आकार बदलने के लिए उपयोग कर रहा हूं ऊपर है। मुझे पता है कि gimp-image-resize कमांड में पिछले दो मान ऑफ़सेट को संदर्भित करते हैं। स्क्रिप्ट इस चरण तक पहुंचने पर मैं मैन्युअल रूप से संशोधित करना चाहता हूं। किसी भी तरह की सहायता का स्वागत किया जाएगा। धन्यवाद!

उत्तर

3

क्या आपका कोड काम करता है? यदि ऐसा है, तो यहां एक ही कोड का बेहतर दिखने वाला संस्करण है:

(let ((smaller-edge (min width height))) 
    (gimp-image-resize image smaller-edge smaller-edge 0 0)) 
+1

यह काम करता है, हालांकि आपका संस्करण निश्चित रूप से क्लीनर दिखता है। धन्यवाद! जीआईएमपी और योजना के लिए नया होने के नाते, मुझे कई उपलब्ध विधियों को नहीं पता था। दुर्भाग्यवश यह अभी भी मेरी समस्या का समाधान नहीं करता है। – zdyn