ImMagick
========
RMagick replacement which uses ImageMagick directly by constructing chainable
commands with value placeholders. It basically delegates to the command-line
tools, so constructing commands is similar to how you would work with those.
The code itself is nothing fancy, it just gets the job done by providing a
simple DSL-like construct.
Here are a couple of examples:
cmd = ImMagick::convert.from(:source).resize(:w, :h).grayscale.to('thumbs/thumb-%03d.jpg')
cmd.run(:source => 'images/logo.png', :w => 100, :h => 100).save(7) # => thumbs/thumb-007.jpg
---
img = ImMagick::Image.file('images/logo.png')
img.crop_resized(200, 200, :south)
puts img.inspect
=> "images/logo.png -resize 200x207 -gravity south -crop 200x200+0+0 +repage"
---
img = ImMagick::Image.file('images/logo.png')
img.crop_resized(:w, :h, :g) # width, height, gravity placeholders
puts img.inspect(:w => 200, :h => 300, :g => :south)
=> "images/logo.png -resize 291x300 -gravity south -crop 200x300+0+0 +repage"
img.save('output/crop-resized-img.jpg', :w => 200, :h => 300, :g => :south)
---
cmd = ImMagick::convert do |c|
c.background(:black)
c.fill(:white)
c.font('./unionbd.ttf')
c.pointsize(40)
c.size('300x')
c.gravity('west')
c.caption(:placeholder)
end
puts cmd.inspect(:placeholder => 'FooBar')
=> "-background black -fill white -font ./unionbd.ttf -pointsize 40 -size 300x -gravity west caption:'FooBar'"
cmd.run(:placeholder => 'FooBar').save('output/foo-bar.png')Project
fabien/im_magick
RMagick replacement which uses ImageMagick directly by constructing chainable commands
Pull Requests
Development
Primary Language
Ruby
Dependencies
Project Readme