/meme_captain

ruby gem for creating meme images

Primary LanguageRubyMIT LicenseMIT

Build Status Code Climate

Ruby gem to create meme images (images with text added).

Runs locally and has no web dependencies.

Works with animated gifs.

Create a simple top and bottom text meme:

require 'open-uri'

require 'meme_captain'

open('http://memecaptain.com/troll_face.jpg', 'rb') do |f|
  i = MemeCaptain.meme_top_bottom(f, 'test', '1 2 3')
  i.display
  i.write('out.jpg')
end

Advanced usage with text sizing and positioning and RMagick attributes:

require 'open-uri'

require 'meme_captain'

open('http://memecaptain.com/cool_story_bro.jpg', 'rb') do |f|
  i = MemeCaptain.meme(f, [
    MemeCaptain::TextPos.new('the quick brown fox', 0.70, 0.1, 0.25, 0.5,
      :fill => 'green'),
    MemeCaptain::TextPos.new('jumped over the lazy dog', 100, 400, 200, 100,
      :font => 'Impact-Regular'),
    MemeCaptain::TextPos.new('test', 10, 10, 50, 25)
    ])
  i.display
  i.write('out.jpg')
end

Text box sizes and positions can be specified as pixels (the origin is the top left corner of the image) or as floats which are percentages of the image width and height. The x and y coordinates of a text box are the coordinates of its top left corner.