class WaxIiif::ImageTile

Class ImageTile is a specific ImageVariant used when generating a stack of tiles suitable for Mirador-style zooming interfaces. Each instance of ImageTile represents a single tile.

@author David Newbury <david.newbury@gmail.com>

Public Class Methods

new(data, config, tile) click to toggle source

Initializing this

@param [Hash] data A Image Data object. @param [WaxIiif::Config] config The configuration object @param [Hash<width: Number, height: Number, x Number, y: Number, xSize: Number, ySize: Number>] tile

A hash of parameters that defines this tile.
Calls superclass method
# File lib/wax_iiif/image_tile.rb, line 18
def initialize(data, config, tile)
  @tile = tile
  super(data, config)
end

Protected Instance Methods

filestring() click to toggle source
# File lib/wax_iiif/image_tile.rb, line 36
def filestring
  "/#{region}/#{@tile[:xSize]},/0"
end
region() click to toggle source
# File lib/wax_iiif/image_tile.rb, line 32
def region
  "#{@tile[:x]},#{@tile[:y]},#{@tile[:width]},#{@tile[:height]}"
end
resize(_width = nil, _height = nil) click to toggle source
# File lib/wax_iiif/image_tile.rb, line 25
def resize(_width = nil, _height = nil)
  @image.combine_options do |img|
    img.crop "#{@tile[:width]}x#{@tile[:height]}+#{@tile[:x]}+#{@tile[:y]}"
    img.resize "#{@tile[:xSize]}x#{@tile[:ySize]}"
  end
end