2013-02-06 03:16:51 +08:00
|
|
|
module ImageSizer
|
|
|
|
|
|
|
|
# Resize an image to the aspect ratio we want
|
2013-02-26 00:42:20 +08:00
|
|
|
def self.resize(width, height)
|
2013-02-06 03:16:51 +08:00
|
|
|
max_width = SiteSetting.max_image_width.to_f
|
2013-03-05 08:42:44 +08:00
|
|
|
return nil if width.blank? || height.blank?
|
2013-02-26 00:42:20 +08:00
|
|
|
|
2013-02-06 03:16:51 +08:00
|
|
|
w = width.to_f
|
|
|
|
h = height.to_f
|
|
|
|
|
|
|
|
return [w.floor, h.floor] if w < max_width
|
|
|
|
|
2013-03-06 15:52:24 +08:00
|
|
|
# Using the maximum width, resize the height retaining the aspect ratio
|
2013-02-06 03:16:51 +08:00
|
|
|
[max_width.floor, (h * (max_width / w)).floor]
|
|
|
|
end
|
|
|
|
|
|
|
|
end
|