2016-03-15 4 views
1

У меня есть приложение для рельсов, изображения профиля загружаются с помощью несущей волны и обрабатываются с помощью мини-гиганта.изменение размера рельсов с несущей волной и минимаганом

Это то, что я имел обыкновение иметь:

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 и без каких-либо проблем с коэффициентом, как-то их изображения всегда отображаются хорошо.

+0

если мой ответ решит вашу проблему, вы должны сообщить другим! если вы не отправляете свое решение тоже здорово! –

+0

Tall Paul, я скоро проверю и отметю, что ваш ответ проверен, если все идет по плану. –

ответ

1

Если вы пытаетесь получить одинаковое соотношение изображения, чтобы изменить его размер, не искажая его, тогда вы должны прочитать this.

Если вы просто пытаетесь получить середину изображения с тем же урожаем, вы должны прочитать this.

Надеюсь, что поможет

+0

Tall Paul, я обновил свой вопрос. Не могли бы вы взглянуть на него? Я довольно смущен. Пошел через кучу статей, включая то, что рекомендовал, но не мог решить, что использовать. То, что вы рекомендовали, кажется довольно сложным решением по сравнению с тем, что я видел в большинстве приложений для рельсов. Я не хочу делать ничего интересного здесь, просто хочу, чтобы мои изображения отображались правильно. Я также проверил кучу видеороликов с несущей и некоторые загруженные изображения никогда не искажаются. –

Смежные вопросы