【发布时间】:2012-12-16 20:15:52
【问题描述】:
我在本地服务器和在线网络服务器上进行了测试...但返回一个空图像...
检查返回结果... http://s8.postimage.org/sthztzj5x/null_image.jpg
<?php
Set the content-type
header('Content-Type: image/png');
$im = imagecreatetruecolor(400, 30);
$white = imagecolorallocate($im, 255, 255, 255);
$grey = imagecolorallocate($im, 128, 128, 128);
$black = imagecolorallocate($im, 0, 0, 0);
imagefilledrectangle($im, 0, 0, 399, 29, $white);
$text = 'Testing...';
$font = 'arial.ttf';
imagettftext($im, 20, 0, 11, 21, $grey, $font, $text);
imagettftext($im, 20, 0, 10, 20, $black, $font, $text);
imagepng($im);
imagedestroy($im);
?>
【问题讨论】:
-
您没有检查任何这些返回值。其中一项功能可能失败了。注释掉
header调用,添加error_reporting(-1); ini_set('display_errors', true);并重试。我打赌你会看到一个大的 PHP 错误、警告或通知。 -
您需要在 PHP 中启用错误日志记录(日志记录很重要,因为图像不会向您显示文本)。将报告设置为最高级别。然后按照错误日志,它会告诉你错误在哪里。另见how do i debug PHP Image with print? 和PHP invalid image's and error handling