Core Image Gem

Simple image manipulation using Apple's Core Image technology.

Installation

gem install core_image

Usage

require 'core_image'
image = CoreImage.new(location) # more on this below
image.rotate(90)
image.scale_to_size(300)
image.save

Supports Chaining

image.rotate(90).scale(0.6).save(new_path)

Extra Bits

image.flip_horizontally
image.flip_vertically
image.save # oh no!
image.revert #=> reverts to the original image

One More Thing!

image.tint({:red => 0, :green => 0, :blue => 255, :alpha => 1.0})
image.crop(x, y, w, h) # starts from lower left
image.color_at(x, y) # => RGB Hash of specified pixel
image.overlay(another_image) # follows the same instantiation rules

Instantiating

You can instantiate a new Core Image object with the following:

  • A path to a file
  • A url to a file
  • An Apple image object: NSImage, CIImage, CGImage
  • Another Core Image object

File Types

Core Image can open and save the following formats: jpeg, png, tiff, gif, pct, and bmp. It can also open pdfs and save them as one of the previously listed image formats.

Requirements

Requires Mac OS X to run.

Tests

Core Image testing is done via the Riot gem and can be run by typing rake from the root directory of this repository (you must have Riot installed to do so).

Support

Serveral updates are in the works but feel free to report issues, make comments, voice concerns and I'll get to them when I can! Enjoy!