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