Закругление углов картинки
В редакторе
Закругление углов картинки
Brain_Script
920
2019-07-12 11:00:25
// исходная картинка
$image = "test.jpg";
// радиус углов
$radius = 50;
// цвет, которым будет заполнен угол
$background = 0xffffff;
// загружаем картинку
$img = imagecreatefromjpeg($image);
// размер исходной картинки
$width = imagesx($img);
$height = imagesy($img);
// создаем изображение для углов
$corner = imagecreatetruecolor($radius, $radius);
// выключаем режим сопряжения цветов
imagealphablending($corner, false);
// прозрачный цвет
$trans = imagecolorallocatealpha(
$corner, 255, 255, 255, 127
);
// заливаем картинку для углов
imagefill($corner, 0, 0, $background);
// рисуем прозрачный эллипс
imagefilledellipse(
$corner, $radius, $radius,
$radius * 2, $radius * 2, $trans
);
// массив положений.
// Для расположения эллипсов по углам
$positions = array(
array(0, 0),
array($width - $radius, 0),
array($width - $radius, $height - $radius),
array(0, $height - $radius),
);
// накладываем на углы картинки
// изображения с эллипсами
foreach ($positions as $pos) {
// копируем эллипс на картинку
imagecopyresampled(
$img, $corner, $pos[0], $pos[1], 0, 0,
$radius, $radius, $radius, $radius
);
// поворачиваем изображение с эллипсом
// каждый раз на 90 градусов
$corner = imagerotate(
$corner, -90, $background, false
);
}
// заголовок для браузера
header('Content-type: image/png');
// выводим картинку в браузере
imagepng($img);
// чистим память
imagedestroy($img);
Войдите для добавления комментария.