Home  >  Article  >  Backend Development  >  用imagettftext在图片下输入字符,无法在浏览器中生成图片

用imagettftext在图片下输入字符,无法在浏览器中生成图片

WBOY
WBOYOriginal
2016-06-13 12:59:161394browse

用imagettftext在图片上输入字符,无法在浏览器中生成图片
我imagettftext函数在图片上写入汉字字符串,可是却无法在浏览器中输出图片,使用imagepng($im,'x.png');可以将图片输出,但是如果直接输出到浏览器却不行,求高手调教啊。以下我的代码

<br />
<?php<br />
Header('Content-type: image/png');<br />
putenv('GDFONTPATH=C:\WINDOWS\Fonts');<br />
$button_text='Button按钮';<br />
$button_text=$button_text.rand(30, 50);<br />
$im=imagecreatetruecolor(400, 200);<br />
$black=imagecolorallocate($im, 0, 0, 0);<br />
$white=imagecolorallocate($im, 255, 255, 255);<br />
imagefill($im, 0, 0, $black);<br />
imagettftext($im,30,30, 0,150, $white,'MSYH.TTF', $button_text);<br />
imagepng($im);//使用imagepng($im,'x.png');可以生成x.png,图片也有文字。<br />
imagedestroy($im);<br />
?><br />

------解决方案--------------------

引用:
引用:

引用:

没有任何错误提示啊,浏览器一片空白,不过如果用ie浏览器的话就出现一些乱码。我尝试用imagestring替代imagettftext就可以正常输出了,前提是我要去掉中文字符……


imagestring不支持中文汉字。只能yong imagettftext.如果是乱码,证明是图片生成前可能有输……

utf-8有两种格式,一种是utf-8无bom的格式,一种是由bom头的,改为无bom头的
------解决方案--------------------
引用:
我imagettftext函数在图片上写入汉字字符串,可是却无法在浏览器中输出图片,使用使用imagepng($im,'x.png');可以生成x.png,图片也有文字。

这只是你的程序文件带有 BOM 头。去掉就好了
Statement:
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn