为什么我用PHP绘制图像,浏览器总是显示乱码?
我已经知道是怎么回事了。是我的php文件里有<html><head><body>这些标签。谢谢各位了...
我已经知道是怎么回事了。是我的php文件里有<html><head><body>这些标签。谢谢各位了
展开
3个回答
展开全部
一个简单的PHP输出图像(含中文字符)的示例,画线之类的一般不会出现乱码
<?php
header('Content-type: image/png');
$image = imagecreate(310,150);
$black = imagecolorallocate($image,0,0,0);
$white = imagecolorallocate($image,255,255,255);
$font = 'include/msyhbd.ttf';//中文需要一个字体文件,这里用的是微软雅黑(粗),需要上传到网站的相应目录
imagettftext($image,10,0,0,25,$white,$font,”Hello world“);
imagettftext($image,10,0,0,55,$white,$font,”你好“);
imagepng($image);
imagedestroy($image);
?>
<?php
header('Content-type: image/png');
$image = imagecreate(310,150);
$black = imagecolorallocate($image,0,0,0);
$white = imagecolorallocate($image,255,255,255);
$font = 'include/msyhbd.ttf';//中文需要一个字体文件,这里用的是微软雅黑(粗),需要上传到网站的相应目录
imagettftext($image,10,0,0,25,$white,$font,”Hello world“);
imagettftext($image,10,0,0,55,$white,$font,”你好“);
imagepng($image);
imagedestroy($image);
?>
展开全部
设置编码方式和你的Apache的编码一样。
追问
怎么设置?
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
输出图像前,先输出 HTTP头,Header("Content-type: image/png"); 图象输出期间请勿使用 echo 等文字输出语句。
追问
输出了的,也没有使用echo。但它还是提示: Cannot modify header information - headers already sent by (output started at E:\wamp\www\imagefill().php:15) in E:\wamp\www\imagefill().php on line 23
追答
这句错误表示你在header前已经有输出了。 如果PHP里面没有 echo print 等语句,请检查 <? 符号之前有没有空格。或者是其它字符如:空格,TAB,回车等,错误提示中提示 你在15行有输出了。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询