Я работаю над простым поворотом + изменением размера загруженного изображения, но только в том случае, если это альбомный формат. В противном случае я просто хочу изменить размер изображения. Я также хочу сделать это, сохранив имя версии таким же (не иметь «средний» и «средний_поворот»). Пока у меня работает поворот, но проблема в том, что если я загружаю не альбомное изображение, оно не работать вообще. Это работает только для ландшафтных изображений. Вот соответствующие части моего кода до сих пор. Есть идеи?
-Бенни
class FloorPlanPhotoUploader < CarrierWave::Uploader::Base
....
version :medium, :if => :is_landscape? do
process :rotate_cw
end
version :medium do
process :resize_and_pad => [ 260, 360, :white, 'Center']
end
def is_landscape? picture
file = (picture.is_a? CarrierWave::Storage::Fog::File) ? picture.public_url : picture.file
image = MiniMagick::Image.open(file)
image[:width] > image[:height]
end
def rotate_cw
manipulate! do |img|
img.rotate "90>"
img = yield(img) if block_given?
img
end
end
....
end