-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属性指向img生成图像的 PHP 脚本如果你想让它工作。

例如:

page.html

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

图像.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 回答