Php 将文本显示为JPG
我正在尝试将一些文本打印到png文件。我什么都试过了,但运气不好 这是我的密码:Php 将文本显示为JPG,php,fonts,Php,Fonts,我正在尝试将一些文本打印到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 // Crea
<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������). 为什么要发送两个内容类型标题?删除第一个显示其
text/html
删除:
仅此内容类型应保留在图像中
<meta http-equiv="Content-Type" content="image/jpeg" />
为什么要发送两个内容类型标题?删除第一个显示其
文本/html
删除:
仅此内容类型应保留在图像中
<meta http-equiv="Content-Type" content="image/jpeg" />
您可以始终使用base64编码字符串并将其显示为图像:您可以始终使用base64编码字符串并将其显示为图像:感谢您的回复。我将其保留在中,因为我在页面的其余部分需要它(不包括在代码中)。但是,出于测试目的,我从代码中删除了它,只得到了不同的垃圾。您不能从同一页面打印图像和html。您必须返回一个特定的内容类型以响应HTTP请求。我只得到了不同的垃圾。:这实际上是生成的图像,将该url加载到图像标记中,然后您将看到,或者也可以尝试在新的浏览器会话中打开它。我提供的代码是页面上所有的最新代码(去掉text/html内容类型)。当您说将URL加载到图像标记中时,您的意思是在我的页面上的where barcode.php是上面提供的代码吗?对不起,有点愚蠢。感谢您的建议,我们已经解决了问题。删除了HTML、标题和正文,重新引入了“标题('Content-Type:image/png');”并按照建议将文件放置在IMG标签中。非常感谢您的帮助。感谢您的回复。我将其保留在中,因为我在页面的其余部分需要它(不包括在代码中)。但是,出于测试目的,我从代码中删除了它,只得到了不同的垃圾。您不能从同一页面打印图像和html。您必须返回一个特定的内容类型以响应HTTP请求。我只得到了不同的垃圾。:这实际上是生成的图像,将该url加载到图像标记中,然后您将看到,或者也可以尝试在新的浏览器会话中打开它。我提供的代码是页面上所有的最新代码(去掉text/html内容类型)。当您说将URL加载到图像标记中时,您的意思是在我的页面上有上面提供的代码吗?抱歉,有点愚蠢。感谢您的建议,我们已经解决了问题。删除了HTML、标题和正文,重新引入了“header('Content-Type:image/png');”并按照建议将文件放置在IMG标记中。非常感谢您的帮助。