module PhotoMosaic::MiniMagickIo::ClassMethods
Public Instance Methods
image_cache()
click to toggle source
# File lib/photo_mosaic/mini_magick_io.rb, line 36 def image_cache @image_cache ||= {} end
import(image_path)
click to toggle source
# File lib/photo_mosaic/mini_magick_io.rb, line 11 def import(image_path) image_paths = Array(image_path) images = Enumerator.new(image_paths.size) do |yielder| image_paths.each do |path| image = read(path) if image_paths.size > 1 broadcast(:image_import, {broadcaster: self, paths: image_paths, current_path: path}) end yielder << image end end images.size > 1 ? images : images.first end
read(path)
click to toggle source
# File lib/photo_mosaic/mini_magick_io.rb, line 25 def read(path) image = image_cache[path] if image.nil? foreign_image = MiniMagick::Image.open(path) pixels = foreign_image.get_pixels image = new(pixels, foreign_image) image_cache[path] = image end image end