我imagettftext函数在图片上写入汉字字符串,可是却无法在浏览器中输出图片,使用imagepng($im,'x.png');可以将图片输出,但是如果直接输出到浏览器却不行,求高手调教啊。以下我的代码<?php
Header('Content-type: image/png');
putenv('GDFONTPATH=C:\WINDOWS\Fonts');
$button_text='Button按钮';
$button_text=$button_text.rand(30, 50);
$im=imagecreatetruecolor(400, 200);
$black=imagecolorallocate($im, 0, 0, 0);
$white=imagecolorallocate($im, 255, 255, 255);
imagefill($im, 0, 0, $black);
imagettftext($im,30,30, 0,150, $white,'MSYH.TTF', $button_text);
imagepng($im);//使用imagepng($im,'x.png');可以生成x.png,图片也有文字。
imagedestroy($im);
?>
Header('Content-type: image/png');
putenv('GDFONTPATH=C:\WINDOWS\Fonts');
$button_text='Button按钮';
$button_text=$button_text.rand(30, 50);
$im=imagecreatetruecolor(400, 200);
$black=imagecolorallocate($im, 0, 0, 0);
$white=imagecolorallocate($im, 255, 255, 255);
imagefill($im, 0, 0, $black);
imagettftext($im,30,30, 0,150, $white,'MSYH.TTF', $button_text);
imagepng($im);//使用imagepng($im,'x.png');可以生成x.png,图片也有文字。
imagedestroy($im);
?>
imagestring不支持中文汉字。只能yong imagettftext.如果是乱码,证明是图片生成前可能有输出。
检查下你的文件编码格式,请改为utf-8无bom的形式。
只要我不用Imagettftext函数就都正常了啊,难道用这个函数需要什么特别的条件?我已经纠结一个下午了
加一句
$button_text=iconv("gbk","UTF-8",$button_text);
在imagettftext($im,30,30, 0,150, $white,'MSYH.TTF', $button_text);之前,
虽然页面是utf-8,但是你直接写入的汉字的编码方式也可能不同。
//水印效果
header("content-type-:image/jpeg");
$im=imagecreatefromjpeg("images/xx.jpg");
$textcolor=imagecolorallocate($im,56,73,136);
$fnt="C:/WINDOWS/Fonts/SIMKAI.TTF";
$motto=iconv("gb2312","utf-8","长白山天池");
imagettftext($im,100,0,600,340,$textcolor,$fnt,$motto);
imagejpeg($im);
imagedestroy($im);
?>
请大侠帮忙,如果是PHP和GD库环境有问题的话,那应该如何检测和修改