2011年10月28日

imagefill関数はマスターできた!?


たぶん…また…家にネズミがいます〜(>_<)
今回はまだ姿見てないけど。
1匹しかいないと思うけど、今はまだ。


imagefill も今までに何度も出てきましたね♪

基本の形は↓
imagefill(画像, X座標, Y座標, 色)

指定した色で、指定したスタート地点から塗りつぶしてく関数です。

覚えておきたいポイントは、
指定した開始地点の色とは別の色に辿り着くまで塗りつぶしが行われること。

参考書には例が載ってないので、勝手に試したいことをやってみました↓

<?php
//濃さの違う紫の円が3つ描かれた画像を読み込む
$image = imagecreatefrompng("black3.png");
//色の設定
$cyan = imagecolorallocate($image, 0, 255, 255);
//右上の円だけ、シアンで塗りつぶし
imagefill($image, 150, 50, $cyan);
//ブラウザに出力
header("Content-Type: image/png");
imagepng($image);
?>

できた、できた♪
ターゲットの円だけ、シアンで塗りつぶすことができました。

もう1つトライしてみました↓

<?php
//濃さの違う紫の円が3つ描かれた画像を読み込む
$image = imagecreatefrompng("black3.png");
//色の設定
$cyan = imagecolorallocate($image, 0, 255, 255);
//画像の左上からシアンで塗りつぶし
imagefill($image, 0, 0, $cyan);
//ブラウザに出力
header("Content-Type: image/png");
imagepng($image);
?>

これは初めてのパターンだったので、ちょっとドキドキでした。

何もない一色だけの画像の場合は、これで全体の色を変えられるけど、
今回は色つきの3つの円という障害物があるから、
正直どうなるのか分からなかったんです(^^;)

結果は、紫の円3つはそのままで、
背景色だけシアンで塗りつぶされました♪

他の色にぶつかったらそこは残して、
それ以外は塗りつぶされるってことですよね?


<お知らせ>----------------------------------------------------------------------------------------

contentsmasterAnew.jpg

アフィリエイト支援システム「コンテンツマスターPro」 13,800円

----------------------------------------------------------------------------------------<お知らせ>



imagefill関数のその他の例↓
imagestring関数は好き♪
imagerectangle関数と imagefilledrectangle関数を組み合わせてみる
imagepng関数は挑戦というより復習です
imageline関数はできるかどうか不安です
imagedestroy関数は毎回使った方がいいの……?
とても便利そうな imagecopyresized関数
imagecolorallocate関数を学びながら imagefill関数も予習
imagecharup関数

関連する関数はこちらです↓
imagefilltoborder関数の疑問点を解消中
imagecreatefrompng関数はもう何度使ったかなぁ
imagepng関数は挑戦というより復習です
header関数
imagecolorallocate関数を学びながら imagefill関数も予習



posted by れい at 17:05| Comment(0) | 画像関数 | このブログの読者になる | 更新情報をチェックする
この記事へのコメント
コメントを書く
お名前:

メールアドレス:

ホームページアドレス:

コメント:

×

この広告は1年以上新しい記事の投稿がないブログに表示されております。