Изменение размера изображения и алгоритм урожая в MiniMagick

75
6

Я запускаю приложение rails, которое принимает скриншоты пользователя. Мы стремимся генерировать меньшие версии скриншотов в очень специфическом измерении (652x408. Почему? Спросите парня переднего конца.) В настоящее время мы используем Carrierwave и Minimagick для этого.

Я пробовал методы resize_to_fill и resize_to_fit, но они всегда оставляют пробелы со входами. Я пытаюсь прибегнуть к своим собственным, но я довольно потерял синтаксис imagemagick.

Во всяком случае, я пытаюсь реализовать это, но я понятия не имею, как это сделать. Существует ли стандартный алгоритм для такого рода вещей?

спросил(а) 2021-01-19T12:43:19+03:00 2 месяца, 4 недели назад
1
Решение
97

Вы можете использовать Jcrop и Carrierwave для обрезки изображения. Подобно этому эффекту

enter image description here

Вот какой-то код https://github.com/luckyyang/imagecrop. Но он использует инсталлятор Paperclip для Carrierwave.

В carriewave есть некоторый код

  version :thumb do
process :crop
resize_to_fill(240, 320)
end

# crop image
def crop
if model.crop_x.present?
resize_to_limit(1280, 1280)
manipulate! do |img|
x = model.crop_x
y = model.crop_y
w = model.crop_w
h = model.crop_h
img.crop("#{w}x#{h}+#{x}+#{y}")
img
end
end
end

Я чувствую себя извиняющимся за свой плохой английский. Я надеюсь это тебе поможет

ответил(а) 2021-01-19T12:43:19+03:00 2 месяца, 4 недели назад
Ваш ответ
Введите минимум 50 символов
Чтобы , пожалуйста,
Выберите тему жалобы:

Другая проблема