/ / कागजात / पटरियों के साथ लैंडस्केप में पोर्ट्रेट बदलें और नई छवि के लिए बाएं-दाएं पैडिंग - रूबी-ऑन-रेल, रूबी, छवि, इमेजमैगिक, पेपरक्लिप

पेपरक्लिप / रेल के साथ पोर्ट्रेट को लैंडस्केप में कनवर्ट करें, और नई छवि पर बाएं-दाएं पैडिंग - रूबी-ऑन-रेल, रूबी, इमेज, इमेजमैजिक, पेपरक्लिप

मैं पेपरक्लिप और रेल्स का उपयोग कर रहा हूं। वर्तमान में, यदि कोई उपयोगकर्ता चित्र चित्र अपलोड करता है, तो छवि के ऊपर और नीचे से कागज की फसलें निकलती हैं, और मेरी परिभाषित शैलियों (नीचे प्रदान की गई) को फिट करने के लिए मध्य भाग को "बाध्य" करती है।

हालाँकि मैं जो चाहता हूं, वह है पोर्ट्रेट इमेजसंरक्षित, छवि के बाईं और दाईं ओर "रिक्ति" जोड़ें। असल में, एक नई परिदृश्य छवि के अंदर पोर्ट्रेट छवि को संरक्षित करना। अब तक मैं केवल उदाहरण के लिए छवियों को घुमा सकता हूं। नीचे दिए गए उदाहरण देखें:

यहां छवि विवरण दर्ज करें

यहां छवि विवरण दर्ज करें

यहां छवि विवरण दर्ज करें

यहाँ मेरी शैलियों की जानकारी है:

has_attached_file :image,
:styles => { thumb: "100x100#",
medium: "300x300>",
display: "759x506#" }

वर्तमान में मेरे पास कोई भी पूर्व / पोस्ट प्रोसेसर या प्रक्षेप नहीं है।

उत्तर:

जवाब के लिए 3 № 1

इसके अनुसार ImageMagick डॉक्स आप इस के साथ इसे प्राप्त कर सकते हैं -extent विकल्प, उदाहरण के लिए:

convert input.jpg -resize 800x600 -background black -compose Copy 
-gravity center -extent 800x600 -quality 92 output.

पेपरक्लिप डॉक्स के अनुसार, अब आप संबंधित कमांड लाइन झंडे को निम्नलिखित तरीके से पेपरलिपि में जोड़ सकते हैं। उदाहरण के लिए, के लिए :medium:

has_attached_file :image, :styles => { thumb: "100x100#",
medium: "300x300>",
display: "759x506#" },
:convert_options => { all: "-background black -compose Copy -gravity center"
medium:  "-extent 300x300"}