كيف يمكنني تطبيق ظل إسقاط إلى الصور المصغرة باستخدام ImageMagick و PaperClip؟

StackOverflow https://stackoverflow.com/questions/1167983

سؤال

أرغب في تغيير معالجة الصور المصغرة في PaperClip من خلال تطبيق ImageMagick بتطبيق ظل إسقاط لجميع الصور المصغرة. ما أنا عالق هو أمر ImageMagick الفعلي الذي من شأنه أن يسحب هذه المعجزة الصغيرة. كل ما حاولت إرجاع ظل إسقاط مقطوع بشكل غير صحيح دون الصورة الأصلية.

def transformation_command
  scale, crop = @current_geometry.transformation_to(@target_geometry, crop?)
  trans = ""
  trans << " -resize \"#{scale}\""
  trans << " -crop \"#{crop}\" +repage" if crop
  # Apply Drop Shadow
  trans << " #{convert_options}" if convert_options? 
  trans
end

واحد لقد حاولت ...

def transformation_command
  scale, crop = @current_geometry.transformation_to(@target_geometry, crop?)
  trans = ""
  trans << " -resize \"#{scale}\""
  trans << " -crop \"#{crop}\" +repage" if crop
  trans << " \( +clone -background black -shadow 60x5+10+10 \) +swap -background none -layers merge +repage"
  trans << " #{convert_options}" if convert_options? 
  trans
end

أنا جديد تماما في ImageMagick، أي مساعدة سيكون موضع تقدير كبير.

هل كانت مفيدة؟

المحلول

بعد بعض التجربة والخطأ ودفن رأسي في المستندات، أحسبت أخيرا.

has_attached_file :image, 
  :styles => { :thumb => ["100x100#", :png] }, 
  :convert_options => { :thumb => '\( +clone -background black -shadow 70x4+0+0 \) +swap -background none -layers merge +repage' }
  1. تأكد من تثبيت أحدث إصدار من ImageMagick.
  2. "100x100 #"،: سوف PNG] تحويل الصورة إلى PNG حتى يتم شفاف الظل الإسقاط.
  3. ضمن تحويل الخيارات،: سوف يطبق الإبهام فقط التحويل إلى: نمط الإبهام، استخدم: الكل لتطبيق التحويل إلى جميع أنماطك.
  4. Tweak "70x4 + 0 + 0" للحصول على الظل الذي تريده.

نصائح أخرى

أجد أنه من الأسهل كثيرا استخدام واجهة Rmagick بدلا من ذلك إرسال خيارات سطر الأوامر إلى ImageMagick نفسها.

إذا كنت تستخدم Rmagick، فيمكنك استخدام طريقة الظل.

img = Image.read('slide.png').first
shadow = img.shadow(0, 0, 0.0, '20%')

ثم مركب الصورة فوق الظل.

كتبت مقالا عن استخدام Rmagick: http://schf.uc.org/articles/2006/10/18/render-greatlooking-collages-with-ruby-and-rmagick.

حاول قراءة ذلك قد يمنحك تفهما أفضل.

لقد كتبت أيضا التجريد ليب إلى Rmagick الذي يحاول أن يجعله أسهل في الاستخدام. دعوت عليه rubyshop. لأنه حاول تحاكي التركيب القائم على طبقة فوتوشوب .. (أكره حقا الاسم وربما يغيره إذا قمت بإحياء المشروع)

مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top