ホームページ >バックエンド開発 >PHPチュートリアル >PHP GD 描画の問題、助けてください。とても簡単な気がしますが、初心者なので理解できません。

PHP GD 描画の問題、助けてください。とても簡単な気がしますが、初心者なので理解できません。

WBOY
WBOYオリジナル
2016-06-20 12:30:03776ブラウズ

コードは次のとおりです

<?php$im = imagecreatetruecolor(400,200);$background = imagecolorallocate($im,0,0,0);$black = imagecolorallocate($im,0,255,255);imagefill($im, 100, 100, $black);header("content-type:image/png");imagepng($im);//提示:对于用 imagecreate() 建立的图像,第一次调用 imagecolorallocate() 会自动给图像填充背景色。?>


この imagefill は後ろの 2 番目と 3 番目のパラメータである X 座標と Y 座標から始まりますが、表示される png 全体が塗りつぶされているのはなぜですか?


ディスカッションへの返信 (解決策)

imagefill 2 番目と 3 番目のパラメータは塗りつぶされた領域内の点です
この点がシード (始点) として機能し、周囲に広がります
理解できますか?

imagefill の 2 番目と 3 番目のパラメータは、塗りつぶされた領域内の点です
この点がシード (開始点) として機能し、周囲に広がります
理解できますか?


一部のみを塗りつぶす方法

imagefilledarc -- 楕円弧を描いて塗りつぶします
imagefilledarc -- 楕円弧を描いて塗りつぶします
imagefilledpolygon -- を描画しますPolygon と fill
imagefilledrectangle -- 長方形を描いて塗りつぶします
imagefilltoborder -- 指定した色の境界線まで領域を塗りつぶします

imagefilledarc -- 楕円弧を描きます
imagefilledarc -- 楕円弧を描いて塗りつぶす
imagefilledpolygon -- 多角形を描いて塗りつぶす
imagefilledrectangle -- 長方形を描いて塗りつぶす
imagefilltoborder -- 領域を塗りつぶす指定した色の境界線

イメージフィルについて教えてください。上記の拡散は半分しか理解していません。

マニュアル読まないんですか?
マニュアルにサンプルコードがあります

マニュアル読まないんですか?
マニュアルにサンプルコードがあります

imagefill()は、イメージimageの座標x,y(画像の左上隅が0,0)の色colorで領域塗りつぶしを行います(つまり、 x、y 点と同じまたは類似した色) 隣接する点が塗りつぶされます)。説明書にはこのように書いてあるのですが、よくわかりません

点(x,y)は種子であり、当然種子は同じ子孫しか再生産しないと書いてありませんでした

🎜> 点 (x, y) が赤の場合、それに隣接する赤い点が変化します

$im = imagecreatetruecolor(300, 200);$white = imagecolorallocate($im, 255, 255, 255);$red = imagecolorallocate($im, 255, 0, 0);$green = imagecolorallocate($im, 0, 255, 0);$blue = imagecolorallocate($im, 0, 0, 255);imagefill($im, 0, 0, $white);imagerectangle($im, 50, 30, 250, 170, $red);imagefill($im, 51, 31, $green);imagepng($im);
これは自分自身の動きです。

$im = imagecreatetruecolor(300, 200);$white = imagecolorallocate($im, 255, 255, 255);$red = imagecolorallocate($im, 255, 0, 0);$green = imagecolorallocate($im, 0, 255, 0);$blue = imagecolorallocate($im, 0, 0, 255);imagefill($im, 0, 0, $white);imagerectangle($im, 50, 30, 250, 170, $red);imagefill($im, 51, 31, $green);imagepng($im);
これはあなた自身の動きです やってください、瞑想だけでは理解できません

まあ、わかりました、わかりました
声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。