Register now and start sharing your code snippets.
-->

How to add a text caption to an image with MiniMagick and Ruby

Ruby posted 6 months ago by christian

   1  require 'rubygems'
   2  require 'mini_magick'
   3  
   4  img = MiniMagick::Image.from_file("jpeg.jpg")
   5  
   6  img.combine_options do |c|
   7    c.gravity 'Southwest'
   8    c.draw 'text 10,10 "whatever"'
   9    c.font '-*-helvetica-*-r-*-*-18-*-*-*-*-*-*-2'
  10    c.fill("#FFFFFF")
  11  end
  12  
  13  img.write("new.jpg")

Tagged mini_magick, ruby, caption, text

How to add a watermark to pictures with MiniMagick and Ruby

Ruby posted 6 months ago by christian

This code can be used to add a watermark to pictures:

   1  require 'rubygems'
   2  require 'mini_magick'
   3  
   4  # Read the image
   5  img = MiniMagick::Image.from_file("the_picture.jpg")
   6  
   7  # 0,0 0,0 = add the watermark at coordinates: x, y, set watermark size to auto with 0,0
   8  img.draw 'image Over 0,0 0,0 "the_watermark.gif"'
   9  
  10  img.write("watermarked_image.jpg")

How to add a watermark to the bottom-left corner?

To add a watermark to the bottom-left corner, you need to use the combine_options method to pass more than one command plus parameters to MiniMagick (gravity and draw commands):

   1  require 'rubygems'
   2  require 'mini_magick'
   3  
   4  img = MiniMagick::Image.from_file("the_image.jpg")
   5  
   6  img.combine_options do |c|
   7    c.gravity 'SouthWest'
   8    c.draw 'image Over 0,0 0,0 "the_watermark.gif"'
   9  end
  10  
  11  img.write("new.jpg")

Troubleshooting

See mogrify’s documentation for details on how to use the draw command.

If you get this error it might mean that mogrify can’t find the watermark image, or that the syntax is incorrect:

   1  mogrify: Non-conforming drawing primitive definition `image'.

Tagged watermark, overlay, caption, mini_magick, ruby, gravity, draw