2011年10月13日

画像作成の問題が解決しました!


今日も画像作成奮闘記?の続きです(^^;)
自分でも本当バカだなぁって思います……↓


数日前から悩まされてた画像作成の問題が解決しました。
いや、正確には全て解決したわけじゃないけど、
1つは解決できたので、少し前進です(^^)

実はすご〜く初歩的なミスでした。
それを教えていただきたのはこちらのページ↓

phpで描画ができません - XREA&CORE SUPPORT BOARD

同じスクリプト内に HTMLソースと image/png、というのがダメだったみたいです(>_<)
考えてみたら HTML で画像を出力するときって「IMG SRC」を使うし、

そもそも教科書や他サイトのどのサンプルコードにも HTMLコードは入ってませんでした。
入れるのが正しいと勘違いしてて、どのコードにもしっかり入れてたんです(^^;)

というわけで、HTML 部分を取ってみると……↓

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

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

imagepng($image);
?>

できました!
ちゃんと赤い四角の画像が表示されました。

次にすでに存在する画像を読み込んで出力するこちらのコード……↓

<?php
header("Content-Type: image/png");
$image = imagecreatefrompng("red.png");
imagepng($image);
?>

これもできました!
red.png は赤い四角の画像なんだけど、ちゃんと表示されました。

次が、画像を作成してちょっといじくって、それをファイルに出力するコードです……↓

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

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

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

う〜、こうなりました↓

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

また同じエラーが……(-_-)
でも test.png って画像は作成できました。

これは別の関数で画像を作成して、ブラウザに出力するパターンです↓

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

imagepng($image);
?>

これはできました。
そして同じコードで、ファイルに出力するパターンです↓

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

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

結果は……↓

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

ダメでした〜(T_T) black2.png って画像はできてたけど。

要するに、ファイルに画像を書き出すパターンがダメなんですねぇ。
言い換えると imagepng の2つ目の引数、ファイル名を渡すと上手くいかない。

でも一応ファイルは作成できるし、
メッセージの問題も少しは解決できたのでホッとしました。
っていうか、ファイルは壊れてなかったってことかな……?


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

copywriting.jpg

The Writing Master Class.(コピーライティングマスタークラス) 25,000円

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



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


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



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

メールアドレス:

ホームページアドレス:

コメント:

×

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