Commit c0268482

mo k <mo@mokhan.ca>
2012-08-17 03:48:20
add watermark to the large version of uploaded main images.
1 parent 85c440b
Changed files (1)
app
app/uploaders/image_uploader.rb
@@ -25,6 +25,7 @@ class ImageUploader < CarrierWave::Uploader::Base
   version :large do 
     process :manualcrop
     process :resize_to_fill => [1170, 810]
+    process :watermark
   end
 
   version :thumb do
@@ -32,6 +33,21 @@ class ImageUploader < CarrierWave::Uploader::Base
     process :resize_to_fill => [260, 180]
   end
 
+  def watermark
+    manipulate! do |image|
+      mark = Magick::Image.new(image.columns, image.rows)
+      gc = Magick::Draw.new
+      gc.gravity = Magick::CenterGravity
+      gc.pointsize = 32
+      gc.font_family = "Helvetica"
+      gc.font_weight = Magick::BoldWeight
+      gc.stroke = 'none'
+      gc.annotate(mark, 0, 0, 0, 0, "Watermark\nby\nMo")
+      mark = mark.shade(true, 310, 30)
+      image.composite!(mark, Magick::CenterGravity, Magick::HardLightCompositeOp)
+    end
+  end
+
   def manualcrop
     manipulate! do |img|
       img = img.crop(model.crop_x.to_i, model.crop_y.to_i, model.crop_w.to_i, model.crop_h.to_i)