ImageScience-compatible image processing for JRuby
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Failed to load latest commit information.
bin Move needs_head into require-able file so apps can use preview more e… Apr 7, 2017
samples Move needs_head into require-able file so apps can use preview more e… Apr 7, 2017
test Test greyscale Apr 18, 2017
tools More style tweaks...the experiment continues Apr 6, 2017
.hgtags Added tag 0.7 for changeset 70f8d5bf5d6a Nov 5, 2009
.travis.yml Move to Container builds Feb 14, 2015
History.txt removing trailing whitespaces from end of lines Aug 26, 2014
LICENSE-2.0.txt Add license text Feb 13, 2015
LICENSE.txt First import of old svn repo of image_voodoo Nov 27, 2008
Manifest.txt Remove .orig Nov 10, 2010
image_voodoo.gemspec Yawn more trivial style changes Apr 6, 2017



ImageVoodoo is an Image manipulation library with a ImageScience-compatible API for JRuby.


  • Uses java.awt and javax.image APIs native to Java to perform image manipulation; no other dependencies needed.
  • Includes image_voodoo command-line utility for quick resizing of images, "image_voodoo --help" for usage.
  • Due to lack of TIFF support in ImageIO it is also not supported yet by image_voodoo. If you need it, create an issue in GitHub.
  • JPEG CMYK support is thanks to work of Werner Randelshofer and Monte Media Library. Monte Media Library is provided under CC BY 3.0 license.
  • Now supports reading a variety of EXIF data. This also supports new function --orient based on how phones typically save photo data.


  ImageVoodoo.with_image(ARGV[0]) do |img|
    img.cropped_thumbnail(100) { |img2| "CTH.jpg" }
    img.with_crop(100, 200, 400, 600) { |img2| "CR.jpg" }
    img.thumbnail(50) { |img2| "TH.jpg" }
    img.resize(100, 150) do |img2| "HEH.jpg" "HEH.png"

image_voodoo can also be run from the commandline:

% image_voodoo -p a.gif --thumbnail 50 -p --save a_thumb.gif

In this command-line you will preview a.gif which will pop up a rendered a.gif on your screen; Then you will scale your image to a thumb to a 50 pixel size; then preview the new thumbnail image; then save it to a_thumb.gif. The CLI tool uses the same names as the API and can be a very handly command-line tool.


  • JRuby


  • jruby -S gem install image_voodoo