Эффект, который я хотел бы создать, точно такой же, как в примере
этот поток StackOverflow: (Связанный вопрос)
1. изменить размер изображения
2. держать пропорции
3. Добавить или заполнить области без изображения белым фоном
Вот три примера этого процесса ниже:
1. Если оригинал квадратный, независимо от размера 640 * 640 или 1024 * 1024, просто измените его размер до целевого размера, например 480 * 480 будет работать.
Если исходный вход является вертикальным прямоугольным, выход не должен быть обрезан
и по-прежнему быть по центру, как показано ниже (красный маркер края черточки облегчает просмотр белого фона, и пропорция сохраняется после изменения размера изображения до 480 * 480 пикселей)
если исходный ввод является горизонтальным прямоугольным, вывод, как показано ниже, на белом фоне, сохраняет пропорции и изображение не обрезанным, таким образом, не теряя ничего после обработки изображения.
Итак, после того как я прояснил такой вопрос,
Я бы хотел знать:
Постскриптум Если вы хотите добиться эффекта либо в изображение изменения размера или же изменение размера видео, Вы можете использовать ниже FFMPEG однострочную команду.
(благодаря @Mulvya, да, приведенный ниже код применим как к видео, так и к форматам изображений)
ffmpeg -i "[raw video url or videofile location.mp4]" -vf "scale=iw*min(480/iw\,480/ih):ih*min(480/iw\,480/ih),pad=480:480:(480-iw)/2:(480-ih)/2:color=white" [save_path_and_filename].mp4
[изменить размер изображения]
ffmpeg -i "[raw image url or imagefile location.jpg]" -vf "scale=iw*min(480/iw\,480/ih):ih*min(480/iw\,480/ih),pad=480:480:(480-iw)/2:(480-ih)/2:color=white" [save_path_and_filename].jpg
Извините, у меня нет полного ответа для вас, и это слишком долго для комментария, но это может быть сделано изначально, используя некоторые математические и php’s http://php.net/manual/en/ref.image.php
Проверьте в области imagecopyresize () imageecreate () imagescale и так далее. Это довольно сложная библиотека, так что вам придется сделать несколько попыток и ошибок, чтобы добраться туда, куда вы хотите.
Из опыта вы можете:
Извините, у меня нет более полного ответа, но в зависимости от ваших потребностей, это может занять несколько месяцев в час, чтобы сделать его идеальным. повеселись.
Вдобавок к этому, если вы знаете ffmpeg, вы можете сделать так, чтобы они работали вместе и делали потрясающие медиафайлы. Привет тебе
Других решений пока нет …