为什么我用PHP绘制图像,浏览器总是显示乱码?

我已经知道是怎么回事了。是我的php文件里有<html><head><body>这些标签。谢谢各位了... 我已经知道是怎么回事了。是我的php文件里有<html><head><body>这些标签。谢谢各位了 展开
 我来答
lyz810
推荐于2016-07-20 · 知道合伙人互联网行家
lyz810
知道合伙人互联网行家
采纳数:7531 获赞数:31779
前端开发工程师

向TA提问 私信TA
展开全部
一个简单的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);
?>
任瑞全
2012-11-30 · TA获得超过231个赞
知道小有建树答主
回答量:306
采纳率:0%
帮助的人:201万
展开全部
设置编码方式和你的Apache的编码一样。
追问
怎么设置?
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
日日多金量化编程
2012-11-29 · 超过29用户采纳过TA的回答
知道答主
回答量:85
采纳率:100%
帮助的人:57.1万
展开全部
输出图像前,先输出 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行有输出了。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(1)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式