2011年10月30日

前によく分かんなかった imagefilltoborder関数


ネズミがやっぱりまだいます(>_<)
未だに姿を見たわけじゃあないけど、夜になると走ってる音が確かにします。
気になってよく眠れない……。


imagefilltoborder は実はけっこう前に使ってみたけど、
よく理解できなかった関数なんですよね(^^;)

画像関数の章に入ったばっかで、他の関数でもたくさんつまづいてたから
頭いっぱいいっぱいだったし……。

でも今やってみると、そんなに難しくなかったです♪

基本の形はこちら↓
imagefilltoborder(画像, 開始地点のX座標, 開始地点のY座標,
枠線の色, 塗りつぶす色)

つまり指定した枠線の色が境界色となって、
指定した地点から指定した塗りつぶし色で塗りつぶしていく、って感じかな。

まずはこちらのコードを試してみました↓

<?php
//赤一色の画像を読み込む
$image = imagecreatefrompng("red.png");
//枠線と塗りつぶす色の設定
$black = imagecolorallocate($image, 0, 0, 0);
$white = imagecolorallocate($image, 255, 255, 255);
//円を描く
imagearc($image, 100, 100, 50, 50, 0, 360, $black);
//円の外を塗りつぶす
imagefilltoborder($image, 0, 0, $black, $white);
//ブラウザに出力
header("Content-Type: image/png");
imagepng($image);
?>

バックは白で、黒い縁取りの赤い円が描かれました〜\(^O^)/

次がこちらのコード↓

<?php
//赤一色の画像を読み込む
$image = imagecreatefrompng("red.png");
//色の設定(黒)
$black = imagecolorallocate($image, 0, 0, 0);
//円を描く
imagearc($image, 100, 100, 50, 50, 0, 360, $black);
//円の外部の塗りつぶし
imagefilltoborder($image, 0, 0, $black, $black);
//黒を透明に
imagecolortransparent($image, $black);
//ブラウザに出力
header("Content-Type: image/png");
imagepng($image);
?>

これは参考書の例にかなり近いものなんだけど、
「画像に丸い覗き穴を開ける」って意味が分かんなかったんです。

結果は、背景が白で(枠線もその外も透明になったからですね)
赤い円が残りました。

これが「覗き穴」ってことですか……?
大層なもんを期待してたらこれかよ(^^;)

でもこの関数の基本は押さえられたと思います♪


<ご紹介>----------------------------------------------------------------------------------------

daihyakkaA.jpg

ネットビジネス大百科 10,000円

----------------------------------------------------------------------------------------<ご紹介>



imagefilltoborder関数についてはこちらもどうぞ↓
imagefilltoborder関数の疑問点を解消中

関連のある関数はこちら↓
imagecreatefrompng関数はもう何度使ったかなぁ
imagepng関数は挑戦というより復習です
header関数
imagecolorallocate関数を学びながら imagefill関数も予習
imagearc関数はわりと簡単なんだけど……



posted by れい at 15:43| Comment(2) | 画像関数 | このブログの読者になる | 更新情報をチェックする
この記事へのコメント
れいさんはネコ飼ってませんでしたっけ?

ネコがねずみを退治してくれたらいいですね^^
この前私の部屋ではなぜかコウモリが飛んでいました。
Posted by まさと at 2011年10月30日 16:47
はい、ネコ飼ってます。
去年は食われてました(^^;)
でもいなくならなかったですねぇ。
高齢のネコだとダメなんですかね……?

コウモリはかなり怖いですね〜(>_<)
Posted by れい at 2011年10月30日 20:15
コメントを書く
お名前:

メールアドレス:

ホームページアドレス:

コメント:

×

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