class TileUp::ImageProcessor

Attributes

logger[RW]

Public Class Methods

build(processor, logger) click to toggle source
# File lib/tileup/image_processor.rb, line 5
def self.build(processor, logger)
  case processor
  when 'mini_magick' then TileUp::ImageProcessors::MiniMagick.new(logger)
  else TileUp::ImageProcessors::RMagick.new(logger)
  end
end
new(logger) click to toggle source
# File lib/tileup/image_processor.rb, line 12
def initialize logger
  self.logger = logger
end

Public Instance Methods

crop_and_save(image, crop, filename:, extend_crop: false, extend_color: 'none') click to toggle source
# File lib/tileup/image_processor.rb, line 35
def crop_and_save image, crop, filename:, extend_crop: false, extend_color: 'none'
  logger.verbose "Crop: x: #{crop[:x]}, y: #{crop[:y]}, w: #{crop[:width]}, h: #{crop[:height]}"
  crop_and_save_image(image, crop, filename: filename, extend_crop: extend_crop, extend_color: extend_color)
end
height(image) click to toggle source
# File lib/tileup/image_processor.rb, line 46
def height image
  raise NotImplementedError
end
open(image_filename) click to toggle source
# File lib/tileup/image_processor.rb, line 16
def open image_filename
  image = open_image(image_filename)
  logger.info "Opened #{image_filename}, #{width(image)} x #{height(image)}"
  image
rescue => e
  logger.error "Could not open image #{image_filename}: #{e.message}"
  raise e
end
scale(image, scale) click to toggle source
# File lib/tileup/image_processor.rb, line 25
def scale image, scale
  logger.verbose "Scale: #{scale}"

  if scale != 1.0
    scale_image(image, scale)
  else
    image
  end
end
width(image) click to toggle source

Interface

# File lib/tileup/image_processor.rb, line 42
def width image
  raise NotImplementedError
end

Private Instance Methods

crop_and_save_image(image, crop, filename:, extend_crop: false, extend_color: 'none') click to toggle source
# File lib/tileup/image_processor.rb, line 60
def crop_and_save_image image, crop, filename:, extend_crop: false, extend_color: 'none'
  raise NotImplementedError
end
open_image(image) click to toggle source
# File lib/tileup/image_processor.rb, line 52
def open_image image
  raise NotImplementedError
end
scale_image(image) click to toggle source
# File lib/tileup/image_processor.rb, line 56
def scale_image image
  raise NotImplementedError
end