Есть задача - менять размер изображения, чтобы оно было пропорциаонльно (квадратное). Только дело в том, что его нужно не кропить, а приращивать белые полосы по сторонам (скидываю пример).
Есть готовые решения, или варианты как это просто написать?
Пример с использованием библиотеки GD
:
$image = imagecreatefrompng(__DIR__ . '/input.png');
$width = imagesx($image);
$height = imagesy($image);
$limit = max([$width, $height]);
$leading = imagecreatetruecolor($limit, $limit);
$background = imagecolorallocate($leading, 255, 255, 255);
imagefill($leading, 0, 0, $background);
if ($height >= $width) {
$new_w = intval($limit * $width / $height);
imagecopyresampled(
$leading, $image, intval(($limit - $new_w) / 2),
0, 0, 0, $new_w, $height, $width, $height
);
} else {
$new_h = intval($limit * $height / $width);
imagecopyresampled(
$leading, $image, 0, intval(($limit - $new_h) / 2), 0, 0,
$limit, $new_h, $width, $height
);
}
imagepng($leading, 'output.png');
Соответственно это лучше обернуть в какюу-либо функцию, чтобы при самой загрузке изображения видоизменять ее в нужный формат.
Выделенный сервер, что это, для чего нужен и какие характеристики важны?
Современные решения для бизнеса: как облачные и виртуальные технологии меняют рынок
Виртуальный выделенный сервер (VDS) становится отличным выбором
каким образом можно в анотациях корректно указать кастомную функцию валидациивариант из доки не проходит
Мне нужно получить из БД sqlite массив всех строк таблицы tableЧерез PDO
поставил на сервер digitalOcean панель управления сервером VstaCp, после чего под ее пользователем установил wordpress, проблема в том, что база данных...