人力検索はてな
モバイル版を表示しています。PC版はこちら
i-mobile

GDライブラリを利用して画像に文字を合成して、HTMLの任意の場所に出力したいのですが、header(”Content-type: image/jpeg”);が優先してしまうせいか、思うように出力ができません。
なにか設定が必要なのでしょうか?
よろしくお願いします。
<?php

//画像合成処理


header(”Content-type: image/jpeg”);
imagejpeg($img);
imagedestory($img);
?>



<BODY>
<TABLE>
<TBODY>
<TR>
<TD>
<img src=<?php echo $PHP_SELF ?>>
</TD>
</TR>
</TBODY>
</TABLE>
</BODY>

●質問者: 和食器屋koba
●カテゴリ:コンピュータ
✍キーワード:Gd HTML JPEG PHP ライブラリ
○ 状態 :終了
└ 回答数 : 2/2件

▽最新の回答へ

1 ● ohmix1
●40ポイント

http://www.hatena.ne.jp/1140484187#

人力検索はてな - GDライブラリを利用して画像に文字を合成して、HTMLの任意の場所に出力したいのですが、header(”Content-type: image/jpeg”);が優先してしまうせいか、思うように出力が..

たぶん勘違いしてます。

HTMLを出力するPHPとJPEGを出力するPHPは別にしないとダメです。


引数等が良くわかりませんが、

1. HTMLを出力するPHPではsrc部のみ編集して、JPEGを出力するPHPのURLを指定

2. 1とは別にJPEGを出力するPHPを作成


まず、JPEGを単体で出力できるように作ってみましょう。


以上

◎質問者からの返答

ありがとうございます。

別々に製作し表示させることが出来ました。

ちなみに

同作業を$_POST[’***’]で画像ファイルを指定し表示させる方法はないでしょうか?

itemfileから$_POST(画像ファイル)→print_image.php→image.htmlへ出力

試してみると画像部分が「×」となってしまいました。


2 ●
●50ポイント

http://jp.php.net/imagejpeg

$PHP_SELFはそのPHPファイル全体の出力結果を出そうとするので、生成された画像だけではなく、その下のHTMLのソースも”Content-type: image/jpeg”として扱おうとしてしまっているのではないでしょうか。


画像を表示させる方法は2つあります。

1つは、画像生成部のPHPソースを切り出し、別ファイルとして、それをimgタグから呼び出す方法です。

もう1つは、imagejpegの2つ目の引数で画像のファイル名を指定し、そのファイル名をimg srcで指定する方法です。

2つ目の方法でのサンプルを以下に示しますので、ご確認ください。


<?php

header(”Content-type: image/jpeg”);

$image = imagecreate(200, 200);

$bcolor = imagecolorallocate($image, 0, 0, 0);

$textcolor = imagecolorallocate($image, 255,255, 255);

$txt=”test”;

ImageTTFText ($image, 40, 0, 10, 60, $textcolor, ”HGRSGU.TTC”,$txt);

imagejpeg($image,”./test.jpg”);

imagecolordeallocate ($image,$bcolor);

imagedestroy($image);

?>

<html>

<body>

<table>

<tbody>

<tr>

<td>

<img src=”./test.jpg”>

</td>

</tr>

</tbody>

</table>

</body>

</html>

◎質問者からの返答

ありがとうございます。

うまく動作させることがきました。

大変助かりました!

関連質問


●質問をもっと探す●



0.人力検索はてなトップ
8.このページを友達に紹介
9.このページの先頭へ
対応機種一覧
お問い合わせ
ヘルプ/お知らせ
ログイン
無料ユーザー登録
はてなトップ