PHP 描画に関するいくつかの質問
PHP コード
<!--
Code highlighting produced by Actipro CodeHighlighter (freeware)
http://www.CodeHighlighter.com/
-->
$src621 = imagecreate(200,200);
$yellow = imagecolorallocate($src621, 255, 255, 0);
$red = imagecolorallocate($src621, 255, 0, 0);
$green = imagecolorallocate($src621, 0, 255, 0);
imagerectangle($src621, 100, 50, 150, 150, $green);
imagefill($src621, 0, 0, $red);
header("Content-Type: image/png");
imagepng ($src621);
imagedestroy($src621);
結果:
質問 1. 黄色はどうですか?決まってますか?
質問 2: imagefill 関数の中央の 2 つのパラメーターは何に使用されますか? (自分で試してみたところ、変更がうまくいきませんでした。変更が大きすぎると塗りつぶしの色がなくなります)
答えを教えてください。ありがとう! !
-----解決策---------
注: imagecolorallocate() の最初の呼び出しでは、背景色が塗りつぶされます。
//imagefill($src621, 0, 0, $red);//この文をコメントアウトすると、それがわかります。
imagefile はポイント領域の塗りつぶしで、左上隅は (0,0) です。 )
黄色は、PS
のペイント チューブのように、すべての赤 (選択範囲) を塗りつぶすことを意味します。なぜ内側の赤が塗りつぶされないのかというと、
imagerectangle($src621, 100, 50, 150, 150, $green);//長方形の境界線は緑です
この緑の色は赤を分けています。つまり、内側と外側の赤は同じ選択範囲にありません
信じられないので、もう一度この文を変更してみてください
imagefill($src621, 101, 51, $red);//このようにして、四角形内をクリックすると、四角形内の赤い領域が選択されます
------解決策------------------
imagecreate で作成されたリソースの場合、最初に作成された色が背景色になります。
imagefill 関数の真ん中の 2 つのパラメーターは、この点から境界までの、到達可能なすべての位置と色を塗りつぶす開始点の座標 (原点) です。原点と同じものはすべて指定色に設定されています
imagefillの前に中空の長方形(imagerectangle)を変更するときに使用され、長方形の端が境界線として使用されます
🎜>は塗りつぶされず、背景が自然に露出します