Sha256: 108572a9c121a5d19391bb6e3ada3f1721ae342b500bfa7c8081a9f91ead8e23

Contents?: true

Size: 1.08 KB

Versions: 7

Compression:

Stored size: 1.08 KB

Contents

module Sprite
  class ImageCombiner
    def initialize(image_config)
      begin
        # avoid loading rmagick till the last possible moment
        require "RMagick"
      rescue LoadError
        require 'rmagick'
      end

      @image_config = image_config
    end

    def composite_images(dest_image, src_image, x, y)
      width = [src_image.columns + x, dest_image.columns].max
      height = [src_image.rows + y, dest_image.rows].max
      image = Magick::Image.new(width, height)
      if @image_config.background_color
        image.opacity = 0
      else
        image.opacity = Magick::MaxRGB
      end

      image.composite!(dest_image, 0, 0, Magick::OverCompositeOp)
      image.composite!(src_image, x, y, Magick::OverCompositeOp)
      image
    end

    # Image Utility Methods

    def image_properties(image)
      {:name => File.basename(image.filename).split('.')[0], :width => image.columns, :height => image.rows}
    end

    # REMOVE RMAGICK AND USE IMAGEMAGICK FROM THE COMMAND LINE
    # identify => find properties for an image
    # composite => combine 2 images

  end
end

Version data entries

7 entries across 7 versions & 1 rubygems

Version Path
sprite-0.2.7 lib/sprite/image_combiner.rb
sprite-0.2.6 lib/sprite/image_combiner.rb
sprite-0.2.5 lib/sprite/image_combiner.rb
sprite-0.2.4 lib/sprite/image_combiner.rb
sprite-0.2.2 lib/sprite/image_combiner.rb
sprite-0.2.1 lib/sprite/image_combiner.rb
sprite-0.2.0 lib/sprite/image_combiner.rb