2011-08-11 18 views
17

में मूल छवि का आकार बदलें पेपरक्लिप मूल छवियों को "मूल" फ़ोल्डर में संग्रहीत करता है। क्या मूल छवियों का आकार बदलने का कोई तरीका है? डिस्क स्थान को बचाने के लिए मैं मूल को छोटा बनाना चाहता हूं।पेपरक्लिप

तो, उदाहरण के लिए, यदि कोई विज़िटर 2592x1936 के साथ एक तस्वीर अपलोड करता रहा, उसी तरह हम के लिए आयाम सेट 1024x1024 के रूप में यह संग्रहीत करना चाहते हैं: अंगूठे छवियों में: शैलियों

अद्यतन (हल)

मुझे पता चला कि अपलोड पर स्वचालित रूप से मूल छवियों का आकार कैसे बदलें। एक बस जोड़ने की जरूरत है: मूल शैलियों रहे हैं:

class MyModel < ActiveRecord::Base 
    has_attached_file :photo, 
     :styles => { :original => "1024x1024>", :thumb => "150x150>" } 
end 
+1

विश मुझे लगता है कि के बारे में सोचा था। धन्यवाद। – vise

+0

ImageMagick में आकार बदलें वाक्यविन्यास के बारे में विवरण के लिए, आप यहां कुछ और विवरण प्राप्त कर सकते हैं: http://www.imagemagick.org/Usage/resize/#resize –

+1

मैंने आपको +1 किया। लेकिन मेरी इच्छा है कि मैं इसे दो बार कर सकता हूं। प्रश्न के लिए एक और सबसे अच्छे जवाब के लिए एक। – alybadawy

उत्तर

1

मुझे यकीन है कि पेपर क्लिप से ही आकार बदलने करता नहीं हूँ। ऐसा करने के लिए आपको Rmagick को देखना पड़ सकता है। मैं RMagick जाने (या minimagick) प्राप्त करने का प्रयास करता हूं और फिर :resize विधि को निष्पादित करने के लिए पहले_सेव कॉलबैक का उपयोग करता हूं जो आप लिखते हैं जो छवि का आकार बदलने के लिए RMagic को बताता है। आपका विधि देखने की तरह हो सकता है:

class Image < ActiveRecord::Base 
    belongs_to :profile 
    before_save :resize 

    def resize 
    self.image = self.image.resize "1024x1024" 
    end 
end 

या

class Image < ActiveRecord::Base 
    belongs_to :profile 
    before_save do 
    self.image = self.image.resize "1024x1024" 
    end 
end 
+0

कैली वुड्स, आपके उत्तर के लिए धन्यवाद, लेकिन मैं जानना चाहता था कि मूल छवि का आकार केवल पेपरक्लिप के साथ बदलना है या नहीं। यह आकार बदलता है जब यह बनाता है: अंगूठे छवियों, शायद मूल आकार का आकार बदलने का एक तरीका है: मूल भी। – Evgenii

+0

इस बात को ध्यान में रखते हुए आपको केवल पेपरक्लिप को फोर्क करने और स्रोत को संशोधित करने की आवश्यकता हो सकती है: मूल आकार का मूल होना चाहिए। यही कारण है कि ओपन सोर्स बहुत अच्छा है। –

+0

[इस asciicast] (http://asciicasts.com/episodes/134-paperclip) में इंगित किए गए Evgeny भी आपको '' 'has_attached_file के प्रारूप में पेपरक्लिप द्वारा प्रदान किए गए आकार बदलने के लिए छवि मैगिक की आवश्यकता होगी: फोटो,: शैलियों => {: छोटा => "150x150>"} '' 'और आप [यहां पढ़ना चाहते हैं] (http://www.imagemagick.org/script/command-line-processing.php#geometry) भी चूंकि यह बताता है कि पहलू अनुपात से निपटने के लिए आपके आकार कॉल के बाद आप कौन से पात्रों का उपयोग कर सकते हैं। –

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