-1

いくつかの int 入力を受け取り、それらを使用して長方形を描画する単純な関数を php で作成しようとしていますが、以下の関数は機能しません...

<?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);

?>
4

1 に答える 1

0

コードが失敗する理由は 2 つあります。まず、$img関数に渡されることはありません。関数内でグローバルとして宣言するか、パラメーターを介して渡す必要があります。

第二に、$blue存在しません。それを置き換えるか、実際に存在させると、コードは正常に動作します。

于 2012-08-12T04:45:46.397 に答える