11.1. Getting Started

I'm going to focus on three different Ruby gems that manage basic graphics transformations — resizing, basic effects, thumbnails, and that kind of thing. The three Ruby gems are wrappers to three different native C libraries, but like a logic puzzle gone slightly awry, there isn't an exact one-to-one correspondence between the gems and the libraries. Two of the gems — RMagick and MiniMagick — can wrap around either ImageMagick or GraphicsMagick, which are two forked versions of the same basic functionality. The third gem, ImageScience, requires a separate graphics library called FreeImage.

As this book was in production, RMagick 2 was released. RMagick 2 does not support GraphicsMagick. Other than that, there are few substantial API differences in the new release. See http://rmagick.rubyforge.org/rmagick2.html for more information.

Installing these gems is somewhat more complex than the typical Ruby gem because the external graphics libraries are so large, have a number of external dependencies, and tend to expect their users to be comfortable with compiling from source (to be fair, it's probably advantageous for performance reasons to compile from source). Unfortunately, this isn't a case where you can just type gem install and be done with it. Don't worry, it's not that hard, and in most cases, there's a helpful installer of one form or another to get you home.

11.1.1. Graphics Packages

RMagick is the oldest and still most commonly used graphics package ...

Get Professional Ruby on Rails™ now with the O’Reilly learning platform.

O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.