Рисование эллипса вне прямоугольника, какова математика для этого?

  • Автор темы anna_sh
  • 15
  • Обновлено
  • 13, May 2024
  • #1
Рисование эллипса вне прямоугольника, какова математика для этого? Я нарисовал прямоугольник и теперь хочу нарисовать за его пределами эллипс, чтобы прямоугольник едва помещался внутри эллипса. Мне не нужен идеальный круг вокруг прямоугольника, который я могу сделать с помощью диагонали.

Мне нужен эллипс, едва огибающий углы прямоугольника.

Вот мой код: края прямоугольника выходят за пределы эллипса.

Как я могу это исправить?

Если эллипс немного больше прямоугольника, даже это нормально,

но должен работать для прямоугольника любых пропорций.

$ширина=500; $высота=300;

$im= imagecreatetruecolor($width, $height);

$b= imagecolorallocate($im, 0, 0, 0);

$w= imagecolorallocate($im, 255, 255, 255);

imagefill($im, 0,0, $b);

$х=($ширина/2)-75;

$y=($высота/2)-25;

$x1=($ширина/2)+75;

$y1=($высота/2)+25;

imagerectangle($im, $x,$y, $x1,$y1, $w);

//попробуем некоторые соотношения

$х= ($х1-$х);

$y=($y1-$y);

$ratio= ячейка($x/$y);

//echo "$x = $y = $ratio";exit;

$x=$x+ ceil(отношение $x/$);

$y=$y+ ceil($y/$ratio);

//рисуем эллипс вокруг прямоугольника

imageellipse($im, ($width/2), ($height/2),

$х,$у,

$в);

header("Тип контента: изображение/png");

изображениеpng ($ IM);

?>

anna_sh


Рег
01 Jan, 2011

Тем
1

Постов
3

Баллов
13
  • 12, Jun 2024
  • #2
Спасибо за ответ. Как вы получили такое соотношение эллипса? Это константа или соотношение ширины и высоты прямоугольника? $ellh2wratio = 0,3; Кроме того, эта линия кажется неправильной. //ширина эллипса $ellw = 2 * sqrt(($x - $ellcx)*2 + ($y - $ellcy)*2 / $ellh2wratio*2); Я также получаю ошибку синтаксического анализа из-за двойных знаков *.
 

igrock1


Рег
01 Jan, 2011

Тем
1

Постов
3

Баллов
13
Тем
49554
Комментарии
57426
Опыт
552966

Интересно