lib/mittsu/loaders/image_loader.rb in mittsu-0.1.4 vs lib/mittsu/loaders/image_loader.rb in mittsu-0.1.5

- old
+ new

@@ -1,6 +1,6 @@ -require 'rmagick' +require 'chunky_png' require 'mittsu/extras/image' module Mittsu class ImageLoader attr_accessor :manager @@ -9,21 +9,18 @@ @manager = manager end def load(url, flip: false, flop: false) chache_url = "#{url}?flip=#{flip}&flop=#{flop}" - cached = Cache.get(url) + cached = Cache.get(chache_url ) return cached unless cached.nil? - rm_image = Magick::Image.read(url).first - rm_image = rm_image.flip if flip - rm_image = rm_image.flop if flop - rgba_data = rm_image.to_blob { |i| - i.format = "RGBA" - i.depth = 8 - } + png_image = ChunkyPNG::Image.from_file(url) + png_image = png_image.flip_vertically if flip + png_image = png_image.flip_horizontally if flop + rgba_data = png_image.to_rgba_stream - image = Image.new(rm_image.columns, rm_image.rows, rgba_data) + image = Image.new(png_image.width, png_image.height, rgba_data) Cache.add(url, image) @manager.item_start(url) image end