Module: Imogen::Scaled

Defined in:
lib/imogen.rb

Class Method Summary collapse

Class Method Details

.convert(img, dest_path, scale = 1500, format = :jpeg) ⇒ Object



13
14
15
16
17
18
19
20
21
22
23
# File 'lib/imogen.rb', line 13

def self.convert(img, dest_path, scale=1500, format = :jpeg)
  w = img.width
  h = img.height
  dims = (w > h) ? [scale, scale*h/w] : [scale*w/h, scale]
  img.rescale(dims[0], dims[1]) do |scaled|
    scaled = (scaled.color_type == :rgb) ?  scaled.convert_to_24bits : scaled.convert_to_8bits
    dst = FreeImage::File.new(dest_path)
    dst.save(scaled, format)
    scaled.free
  end
end