imagetiler breaks up images into smaller tiles, suitable for use with Google Maps.
Ruby
Permalink
Failed to load latest commit information.
lib
.gitignore
README.markdown
Rakefile
VERSION
imagetiler.gemspec

README.markdown

imagetiler -- A simple tool to tile images.

imagetiler is a simple command-line and ruby image tiler with support for multiple zoom levels and different image formats.

How to use

First install ImageMagick, then rmagick.

From the command line

imagetiler.rb is in the lib directory.

ruby imagetiler.rb -o OUTPUT_DIR -z ZOOM_LEVELS IMAGE_FILE

For example

ruby imagetiler.rb -o ./tiles -z 2..4 ./input_files/map.jpg

From ruby

Install the gem:
gem install imagetiler

Use it in your code:
require 'rubygems' # if you installed imagetiler as a gem require 'imagetiler' t = Tiler.new
t.make_tiles(image_source, opts)

image_source can be either a filename or an RMagick Image.

You can set options two ways:
t.zoom_levels = 2..4
or
t.get_tiles(image, :zoom_levels => 2..4)

If you set an option in get_tiles, that will be the new default for that instance of Tiler.

Options

zoom_levels : Zoom level 0 shows the entire image as one 256x256 tile. Subsequent zoom levels double both the horizontal and vertical sides. Default is 0..4
output_dir : Defaults to the current directory. bg_color : The background fill color, transparent by default.
autocreate_dirs : Whether or not to create the directory if it exists. Default true
format : The format for the output, defaults to 'png'. Can be png, jpg, gif, or anything that ImageMagick supports.
prefix : Prefix for the output files. Defaults to 'tile'

Methods

make_tiles(image_source, opts)

calc_native_res_zoom : Calculates the zoom level closest to native resolution. Returns a float for the zoom -- so, use zoom.round if you want the closest zoom level, for example.

Output

Tiles in the output folder with format
#{output_dir}/#{prefix}_#{zoom_level}_#{tile_col}_#{tile_row}.#{image_format}

Other things

  • Requires rmagick and ImageMagick.

Credits

This tiler is modified Guilhem's tile_image.rb tool, which is part of the ym4r project. The Tiler itself has been re-written, and TileParam is no longer used.
Thanks to Guilhem for the command-line portions and the sample ruby and rmagick code!

License

imagetiler uses the MIT License.