Follow along with the video below to see how to install our site as a web app on your home screen.
Примечание: This feature may not be available in some browsers.
Первое что приходит в голову - создать 4 картинки закругления (по углам) и наложить функцией imagecopyresampled() на нужный рисунок.
Это занимает ресурсы и время и юзвер замечает процес наложения.Хотя можно проще, при выводе картинки в браузере, просто сверху наложить слой с "углами".
Можна пример?
<?
$img_file="x_e1a08c6c.jpg"; // сама картинка
// в переменную $pic подгрузим картинку, в зависимости от типа файла
$picinfo=getimagesize($img_file);
if ($picinfo[2]==1) // gif
$pic=imagecreatefromgif($img_file);
if ($picinfo[2]==2) // jpg
$pic=imagecreatefromjpeg($img_file);
if ($picinfo[2]==3) // png
$pic=imagecreatefrompng($img_file);
// заведём ширину и высоту картинки
$w=$picinfo[0];
$h=$picinfo[1];
$corner_width=16; // ширина картинки угла
$corner_height=16; // высота картинки угла
// право верх
$c=imagecreatefrompng("c_ru.png");
imagecopyresampled($pic, $c, ($w-$corner_width), 0, 0, 0, $corner_width, $corner_height, $corner_width, $corner_height);
// право низ
$c=imagecreatefrompng("c_rd.png");
imagecopyresampled($pic, $c, ($w-$corner_width), ($h-$corner_height), 0, 0, $corner_width, $corner_height, $corner_width, $corner_height);
// лево верх
$c=imagecreatefrompng("c_lu.png");
imagecopyresampled($pic, $c, 0, 0, 0, 0, $corner_width, $corner_height, $corner_width, $corner_height);
// лево низ
$c=imagecreatefrompng("c_ld.png");
imagecopyresampled($pic, $c, 0, ($h-$corner_height), 0, 0, $corner_width, $corner_height, $corner_width, $corner_height);
// выводим в браузер
header("Content-type: image/jpeg");
imagejpeg($pic);
?>
Это занимает ресурсы и время и юзвер замечает процес наложения.
И для этого варианта примерчик тоже было неплохо
phpthumb, можно посмотреть - накладывать поверх картинки - полупрозрачную png с закругленными краями для фиксированных размеров 100% подойдет, для произвольных не знаю точно.