我正在使用PHP-Imagick并尝试创建一个看起来像三维对象的圆圈,例如。一个球。以上是我想要实现的一个粗略的例子。下面给出的是迄今为止我所得到的粗略尝试。
以下是生成上图的代码。我需要帮助来解决图像中的两个明显错误。首先,从高亮区域突出另一个圆圈。其次,在圆圈的左边,渐变非常糟糕。
$background = new Imagick();
$background->newImage(800,560,new ImagickPixel('#212121'));
$orb = new ImagickDraw();
for($i = 250; $i > 0; $i--){ //create the biggest circle first and then keep painting smaller circles over it.
$orb->push();
$blue = 350 - $i > 255 ? 255 : 350 - $i;
$red = 250 - $i;
$green = 250 - $i;
$color = 'rgba(' .$red. ',' .$green. ',' .$blue. ', 1)';
$orb->setFillColor($color);
$orb->ellipse( $i + 150 < 260 ? 260 : $i + 150,
$i + 30 < 210 ? 210 : $i + 30,
$i,
$i,
0, 360 );
$orb->pop();
}
$background->drawImage($orb);
$background->setImageFormat( "png" ); // set the image format to png
header("Content-Type: image/png"); // Output the image
echo $background;
我意识到代码是不可扩展的固定值和一切,但这是我能做的最好的。请帮我纠正。