2013-02-05 13:16:51 -06:00
|
|
|
module ImageSizer
|
|
|
|
|
|
|
|
# Resize an image to the aspect ratio we want
|
2013-02-25 10:42:20 -06:00
|
|
|
def self.resize(width, height)
|
2013-06-15 05:29:20 -05:00
|
|
|
return if width.blank? || height.blank?
|
2013-02-25 10:42:20 -06:00
|
|
|
|
2013-08-25 17:24:24 -05:00
|
|
|
max_width = SiteSetting.max_image_width.to_f
|
|
|
|
max_height = SiteSetting.max_image_height.to_f
|
|
|
|
|
2013-02-05 13:16:51 -06:00
|
|
|
w = width.to_f
|
|
|
|
h = height.to_f
|
|
|
|
|
2013-08-25 17:24:24 -05:00
|
|
|
return [w.floor, h.floor] if w <= max_width && h <= max_height
|
2013-02-05 13:16:51 -06:00
|
|
|
|
2013-08-25 17:24:24 -05:00
|
|
|
ratio = [max_width / w, max_height / h].min;
|
|
|
|
[(w * ratio).floor, (h * ratio).floor]
|
2013-02-05 13:16:51 -06:00
|
|
|
end
|
|
|
|
|
|
|
|
end
|