-6

私はphpを初めて使用し、メッセージを印刷して長方形を作成しようとしていますが、これは機能しません。wampディレクトリのphp.iniファイルにあるgd拡張子を確認しましたが、コメントアウトされていません。助けてください-なぜそれが機能しないのですか:(

<?php
print ("hello world");
$im = ImageCreate(200,200);
$white = ImageColorAllocate($im,0xFF,0xFF,0xFF);
$black = ImageColorAllocate($im,0x00,0x00,0x00);
ImageFilledRectangle($im,50,50,150,150,$black);
header('Content-Type: image/png');
ImagePNG($im);
?>
4

2 に答える 2

3

まずprint ("hello world");、コードの先頭にがあります。を呼び出す場合はheader()必要な出力の前に出力があってはなりません。その行を削除すると、コードが機能します。常に関連ドキュメントをお読みください。

于 2012-08-08T11:07:34.650 に答える
1

文字列hello worldを出力してから、画像を出力します。これにより、画像データが破損します。これは、画像のコンテキストでは意味をなさない11バイトが先頭にあるためです。

行を削除するprint('hello world');と、有効な画像が出力されます-ただし、ページにはテキストが含まれていませんhello world。テキストがオンになっている適切なHTMLページを出力し、タグのsrc属性を画像を生成するPHPスクリプトにポイントする必要があります。imgそれを機能させたい場合。

例えば:

page.html

<html>
  <head>
    <title>My Page</title>
  </head>
  <body>
    hello world<br>
    <img src="image.php" />
  </body>
</html>

image.php

<?php

$im = ImageCreate(200,200);
$white = ImageColorAllocate($im,0xFF,0xFF,0xFF);
$black = ImageColorAllocate($im,0x00,0x00,0x00);
ImageFilledRectangle($im,50,50,150,150,$black);
header('Content-Type: image/png');
ImagePNG($im);

?>
于 2012-08-08T11:19:02.183 に答える