У меня есть приложение для рельсов, изображения профиля загружаются с помощью несущей волны и обрабатываются с помощью мини-гиганта.изменение размера рельсов с несущей волной и минимаганом
Это то, что я имел обыкновение иметь:
version :base_thumb do
process :resize_to_fit => [85, 85]
end
Я просто понял, некоторые профильные фото искажены. Народные головы на рисунке растянуты вертикально. Я предполагаю, что это вызвано тем, что я использовал только метод resize_to_fit
.
Я придумал следующее, но оно не работает. С помощью этого кода я получаю ошибку undefined method "process"
. Мне также пришлось добавить новую версию (use_thumb
).
version :base_thumb do
process :resizing => [85, 85]
end
version :user_thumb do
process :resizing => [40, 40]
end
def resizing(h, w)
manipulate! do |img|
if img.width > img.height
process :resize_to_fill => [h, w]
else
process :resize_to_fit => [h, w]
end
end
end
Мой вопрос в следующем:
- Является ли эта проблема вызвана тем, что я использую только
resize_to_fit
метод? - Если да, то как я могу сделать мой метод
resizing
?
UPDATE:
Моя цель здесь, чтобы отобразить изображения профиля без искажений/пробелов. Отношение высоты и ширины всех моих изображений равно 1: 1. Если sby загружает что-то вроде отношения 2: 1 или 1: 2, я все равно хотел бы отображать его как 1: 1 без искажений и пробелов вокруг него.
Я не уверен, если это достаточно, чтобы использовать resize_to_fit
, resize_to_fill
и resize_to_limit
версии, или я должен манипулировать изображение с кадрированием и т.д.
Как я вижу, в большинстве приложений рельсов, ребята просто с помощью resize_to_fit
или resize_to_fill
и без каких-либо проблем с коэффициентом, как-то их изображения всегда отображаются хорошо.
если мой ответ решит вашу проблему, вы должны сообщить другим! если вы не отправляете свое решение тоже здорово! –
Tall Paul, я скоро проверю и отметю, что ваш ответ проверен, если все идет по плану. –