расставляй правильно приоритеты и не отвлекайся на мелочи

Seam carving уже здесь

Вот здесь подглядел то, что оказывается такая замечательная штука, как Seam carving (или Content-Aware Image Resizing) уже довольно давно реализована в ImageMagick, а я зачем-то так ждал ее в Photoshop CS4.

Кто-то спросит о чем это я? Читайте дальше, все будет кратко и понятно.

Если при вызове phpinfo() из Вашего сайта вы можете видеть примерно вот такую картинку:
imagick

то добавив поддержку библиотеки liblqr, через процедуру ее инсталяции и пересборки ImageMagick с —with-lqr (при грамотной сборке на фазе конфигурации Вы должны получить заветную строчку: LQR —with-lqr=yes yes)

Вы сможете делать вот такой замечательный рисайзинг:

seam carving

Оригинальное изображение

seam carving horizontal

Сжато по горизонтали

seam carving vertical

Сжато по вертикали

Вот кусок PHP кода, с помощью которого получается нижнее изображение (взято с оригинального источника):

<?php
$im = new Imagick('orig.jpg') ;
$im->liquidRescaleImage(520, 200, 3, 25) ;
header('Content-Type: image/jpg') ;
echo $im;
?>

А теперь небольшое описание параметров для функции liquidRescaleImage с которыми Вы можете «поиграться». Порядок описания соответствует порядку их вызова:

columns — ширина итогового изображения (в пикселях)

rows — высота итогового изображения (в пикселях)

delta_x — максимально возможная дельта (шаг) поперечного шва (0 — прямые швы) (в пикселях)

rigidity — максимальная величина смещения (изгиба) для непрямых швов (обычно 0) (в пикселях)

Хочу предупредить, что использовать эту возможность в режиме реального времени нельзя, так как функция работает очень медленно и требует больших ресурсов.

———————-

YourWebStyle.ru — создание и разработка фирменного стиля, интернет магазина, логотипа.

Азбука SEO для Чайников!

Ответить
Обязательные поля помечены *