function AoElipse($AoEKey, $width=40, $height=40)
{
/*
$width - ширина картинки
$height - высота картинки
коды углов:
1 - левый верхний
2 - правый верхний
3 - правый нижний
4 - левый нижний
*/
//создаем картинку
$img = imageCreate($width, $height); //создаем картинку
$white = imageColorAllocate($img, 255, 255, 255); //определяем белый цвет
//imageFill($img, 1, 1, $white);//закрашиваем картинку белым цветом
//нарисуем элипс
switch ($AoEKey)
{
case 1: $s = 180;
$e = 270;
$x = $width - 1;
$y = $height;
break;
case 2: $s = 270;
$e = 0;
$x = -1;
$y = $height;
break;
case 3: $s = 0;
$e = 90;
$x = -1;
$y = 0;
break;
case 4: $s = 90;
$e = 180;
$x = $width - 1;
$y = 0;
break;
}
// $s - начальный угол в градусах
// $e - конечный угол в градусах
// $x - координата X описываемого прямоугольника
// $y - координата Y описываемого прямоугольника
$w = $width * 2; //ширина описываемого прямоугольника
$h = $height * 2; //высота описываемого прямоугольника
$black = imageColorAllocate($img, 0, 0, 0); //определим цвет линии элипса
imageArc($img, $x, $y, $w, $h, $s, $e, $black); //рисуем элипс
imageFill($img, $width / 2, $height / 2, $black); //закрашиваем элипс
imageColorTransparent($img, $black); //сделаем прозрачным черный цвет
return $img; //возвращаем картинку
}
function MElipse($img, $Ew=40, $Eh=40)
{
$width = imageSX($img);
$height = imageSY($img);
$imgE = AoElipse(1, $Ew, $Eh);
imageCopyResized($img, $imgE, 0, 0, 0, 0, $Ew, $Eh, $Ew, $Eh);
$imgE = AoElipse(2, $Ew, $Eh);
imageCopyResized($img, $imgE, $width - $Ew, 0, 0, 0, $Ew, $Eh, $Ew, $Eh);
$imgE = AoElipse(3, $Ew, $Eh);
imageCopyResized($img, $imgE, $width - $Ew, $height - $Eh, 0, 0, $Ew, $Eh, $Ew, $Eh);
$imgE = AoElipse(4, $Ew, $Eh);
imageCopyResized($img, $imgE, 0, $height - $Eh, 0, 0, $Ew, $Eh, $Ew, $Eh);
return $img;
}
//пример использования:
//
//$img=ImageCreatefromJpeg($img_path);
//$img=MElipse($img,5,5);
//
//imagejpeg($img, $img_path);