2011年10月11日

画像関数は出だしからつまづく(-_-)


タイトルにあるとおり、つまづきました……。
しかも解決まで数日かかりました(^^;)

でも一応、間違いに気づくまでの記録を残しておきたいので、
今後2−3日は、解決までの道のりについての記事を投稿させていただきます<(_ _)>


画像関数の章に入りました。
でも最初から見事につまづきました(^^;)

画像にラインを引いたり、色で塗りつぶしたり、楽しそうじゃん!
と初めはテンション上がってたんだけど、一気に落ちた……。

画像関連をやってくからには、まず適当な画像が必要だなぁと思ってたら
画像を作成できる imagecreate関数ってのを発見したので、
そこからスタートしようと思ったんです。

まぁ予習も兼ねて、手っ取り早く画像を1−2個ゲットしとこう
なんて考えてたらすんなりとはいきませんでした……(-_-)

まず試したのがこちらのコード↓

<HTML>
<HEAD>
<TITLE>imagecreate関数の例</TITLE>
</HEAD>
<BODY>

<?php
header("Content-Type: image/png");
$image = imagecreate(200,200);

$red = imagecolorallocate($image, 255, 0, 0);
imagefill($image, 0, 0, $red);

imagepng($image);
?>

</BODY>
</HTML>

予習段階なので簡単にまとめると、

imagecreate関数 = 画像の作成
imagecolorallocate関数 = 色の作成
imagefill関数 = 塗りつぶし
imagepng関数 = ブラウザかファイルに出力

といった感じです。

どうなったかというと、こうなりました↓

画像ファイル "http://localhost/imagecreate.php" は壊れているため、表示できませんでした。

エラーでもないみたいだし、どういうこと〜?

もう少し詳しく見てみたら、imagepng関数では
2つ目の引数でファイル名を渡すと、PNGファイルが作成されるとのこと。

だからこのように修整してもう1度実行してみました↓

imagepng($image, "red.png");

そうしたら画像ファイルが壊れてるってメッセージは変わらないけど、
red.png って画像ファイルができてました。

こちらのページも参考にさせていただいたのですが……↓

PHP: imagecreate - Manual

imagecreatetruecolor関数ってのを使うことが推奨されてたんですね。
何でかは説明されてないけど(^^;)

これは本には載ってないので、
またまた公式マニュアルを参考にさせていただきました↓

PHP: imagecreatetruecolor - Manual

これは黒い画像ファイルを作れるってことなのかな……?

とりあえず試してみました↓

<HTML>
<HEAD>
<TITLE>imagecreatetruecolor関数の例</TITLE>
</HEAD>
<BODY>

<?php
header("Content-Type: image/png");
$image = imagecreatetruecolor(200,200);

imagepng($image, "black.png");
?>

</BODY>
</HTML>

あまり余計なことはせずにシンプルを心がけたのですが……↓

画像ファイル "http://localhost/imagecreatetruecolor.php" は壊れているため、表示できませんでした。

やっぱりダメでした〜(>_<)
でもまた、black.png って画像ファイルはできてました。

う〜ん、微妙……。

とりあえず進んでも大丈夫かなぁ?
もちろん後でまた各関数をちゃんとやってくつもりですけど。

でもファイルが壊れてるってことは、
色々やるにも使えないってことですかね……?


<ご案内>----------------------------------------------------------------------------------------

kojingamekaihatu.jpg

個人ゲーム開発で暮らすための5ステップ 19,800円

----------------------------------------------------------------------------------------<ご案内>



この後もう少しがんばってみました(^^;)↓
画像を作成できない〜(>_<)

header関数の復習はこちら↓
header関数


今回の問題に関するシリーズはこちらです↓
画像関数は出だしからつまづく(-_-)
画像を作成できない〜(>_<)
PNGの生成、でもまずは gd_info関数から
画像作成の問題が解決しました!
画像作成の問題の続き……
かなり恥ずかしい間違いに気づいて imagepng 問題はやっと解決
imagepng でブラウザとファイルに画像を出力 - まとめ


関連する関数はこちらです↓
今では懐かしい(?)imagecreate関数
imagecreatefrompng関数はもう何度使ったかなぁ
imagepng関数は挑戦というより復習です
header関数
imagecolorallocate関数はちょっと楽しい♪
imagecolorallocate関数を学びながら imagefill関数も予習
imagefill関数はマスターできた!?



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

メールアドレス:

ホームページアドレス:

コメント:

×

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