1

我正在尝试将一些文本打印到 png 文件中。我已经尝试了一切,但没有运气。

这是我的代码:

<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<meta http-equiv="Content-Type" content="image/jpeg" />
</head>

<body>

<?php
// Create the image
$im = imagecreatetruecolor(100, 30);

// Create some colors
$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);

// The text to draw
$text = 'Testing...';
// Replace path by your own font path
$font = 'fonts/FRE3OF9X.TTF'; //HAVE CHECKED THIS AND FILE EXISTS

// Add some shadow to the text
imagettftext($im, 20, 0, 11, 21, $grey, $font, $text);

// Add the text
imagettftext($im, 20, 0, 10, 20, $black, $font, $text);

// Using imagepng() results in clearer text compared with imagejpeg()
imagejpeg($im);

imagedestroy($im);
?>

</body>
</html>

我尝试了各种字体文件,并通过更改文件名来检查是否找到了该文件,以查看是否出现错误。我需要在服务器上安装任何其他东西来完成这项工作吗?

输出是乱码文本(例如 tuvwxyz������)。

4

2 回答 2

1

为什么要发送两个内容类型标头?删除第一个说它的text/html

消除: <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />

只有此 Content-Type 应保留为您的图像

<meta http-equiv="Content-Type" content="image/jpeg" />
于 2013-10-30T17:31:04.563 回答
0

您始终可以使用 base64 编码的字符串并将它们显示为图像:嵌入 Base64 图像

于 2013-10-30T17:32:24.287 回答