class ImageMosaic::Operations::Compositor

Takes a composite_image Can then place another image over the top at x, y coordinates and resized to a dimension.

Public Class Methods

new(composite_image, child) click to toggle source
# File lib/image_mosaic/operations/compositor.rb, line 6
def initialize(composite_image, child)
  @composite_image = composite_image
  @child = child
end

Public Instance Methods

save(type: 'Over') click to toggle source
# File lib/image_mosaic/operations/compositor.rb, line 11
def save(type: 'Over')
  @composite_image.composite(image) do |composite|
    composite.compose type
    composite.geometry "+#{@child[:x]}+#{@child[:y]}"
  end
end

Private Instance Methods

image() click to toggle source
# File lib/image_mosaic/operations/compositor.rb, line 20
def image
  @image ||= MiniMagick::Image.open(@child[:url]).resize "#{@child[:w]}x#{@child[:h]}^"
end