2011年10月22日

imagecolorclosest関数が解決できました


ストレスを解消できることって色々あるけど、
笑うことってかなりストレス解消になってると思います。
以前はテレビでお笑いを見ることで大笑いしてたけど、
最近の手段はアニメ鑑賞です(^^)


しつこくって申し訳ないですが、先日からうまくいってなかった
imagecolorclosest が突然できるようになりました。

試したコードはこちらです↓

<?php
$image = imagecreatefrompng("black3.png");
//マゼンタに一番近い色のインデックスを検索
$magentaIndex = imagecolorclosest($image, 254, 0, 254);
//RGB値の取得
$colorArray = imagecolorsforindex($image, $magentaIndex);
//RGB値の出力
printf("RGB = (%d, %d, %d)",
$colorArray["red"],
$colorArray["green"],
$colorArray["blue"]);

$magenta2Index = imagecolorclosest($image, 154, 0, 154);
//RGB値の取得
$colorArray = imagecolorsforindex($image, $magenta2Index);
//RGB値の出力
printf("RGB = (%d, %d, %d)",
$colorArray["red"],
$colorArray["green"],
$colorArray["blue"]);

$magenta3Index = imagecolorclosest($image, 54, 0, 54);
//RGB値の取得
$colorArray = imagecolorsforindex($image, $magenta3Index);
//RGB値の出力
printf("RGB = (%d, %d, %d)",
$colorArray["red"],
$colorArray["green"],
$colorArray["blue"]);
?>

今回使った画像は、背景が黒くて
濃さの違う3色の紫で円が3つ描かれたもの。

紫色の RGB は、(255, 0, 255)、(155, 0, 155)、(55, 0, 55) です。

結果はこうなりました↓

RGB = (255, 0, 255)RGB = (155, 0, 155)RGB = (55, 0, 55)

つまり、使用する画像内にある色しか検索できないってことなのかな……?
でも、imagecolorexact関数のときは、ない色でも探せたと思ったけど……?

でも何となく分かったし、一応解決できてよかったよかった(^^;)


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

contentsmasterBnew.jpg

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

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



関連のある関数はこちら↓
imagecolorclosest関数が微妙〜
imagecolorexact関数はうまくいきました
printf関数
imagecreatefrompng関数はもう何度使ったかなぁ



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

メールアドレス:

ホームページアドレス:

コメント:

×

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