PHP绘图功能


php drawing function

我正在尝试在 php 中创建一个简单的函数,它将接受一些 int 输入并使用它们来绘制矩形,但下面的函数不起作用......

<?php
$img = imagecreatetruecolor(500, 500);
$white = imagecolorallocate($img, 255, 255, 255);
$red   = imagecolorallocate($img, 255,   0,   0);
$green = imagecolorallocate($img,   0, 255,   0);
//set canvas background to white
imagefill($img, 0, 0, $white);

//THIS FUNCTION IS NOT WORKING
function draw($x1Pos, $y1Pos, $x2Pos, $y2Pos, $colour) {
    imagerectangle($img, $x1Pos, $y1Pos, $x2Pos, $y2Pos, $colour);
}
draw(20, 40, 60, 80, $red);
draw(30, 40, 80, 100, $green);

imagerectangle($img, 150, 100, 300, 250, $green);
imagerectangle($img, 100, 100, 200, 200, $blue);
header("Content-type: image/png");
imagepng($img);
imagedestroy($img);
?>

你的代码失败有两个原因;首先,$img永远不会传递给函数。 您需要在函数中将其声明为全局,或者通过参数传递它。

其次,$blue不存在。 替换它或实际将其写入存在,您的代码就可以正常工作。