加入收藏 | 设为首页 | 会员中心 | 我要投稿 北几岛 (https://www.beijidao.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 大数据 > 正文

解决php使用GD图像库绘制输出图像出现乱码问题和图片上输出中文

发布时间:2021-07-06 05:53:18 所属栏目:大数据 来源: https://blog.csdn.net/anshang
导读:碰到PHP使用GD图像库绘制输出图像出现乱码问题和图片上输出中文出现乱码问题,今天找了不少方法,总算找到一个可以解决的方法。 源码: htmlheadtitlePHP图像测试/title/headbody?PHP#创建背景图像$im=@imagecreate(500,500)ordie(没有安装GD图像库br);#设置

碰到PHP使用GD图像库绘制输出图像出现乱码问题和图片上输出中文出现乱码问题,今天找了不少方法,总算找到一个可以解决的方法。

源码:

<html>
 <head>
  <title>PHP 图像测试</title>
 </head>
 <body>
 <?PHP 
        #创建背景图像
$im = @imagecreate(500,500) or die("没有安装GD图像库<br>");
#设置背景颜色
        $bgCol=imagecolorallocate($im,255,0,0);
#设置字体颜色
$texCol=imagecolorallocate($im,255,255,0);
$motto = "I love my baby! 我家宝贝聪明可爱漂亮";
        $motto = iconv("gb2312", "utf-8", $motto);
#在背景图像上输入文字
imagestring($im,3,5,5,$motto,$texCol);
#输出图像
header("Content-Type: image/png");
imagepng($im);
#清除所有资源
imagedestroy($im);
 ?>
</body>
</html>

运行后得到的结果:

 <html>
 <head>
  <title>PHP ???????</title>
 </head>
 <body>
 ?PNG
IHDR???M?PLTE???l??IDATx???1
?0??]*??W?:/????C???????1N????^??????M??c??N???>t1?+?w?1
?Z??+??<??7???y???.?}?T??_?????/o?m??IEND?B`?</body>
</html>

(1)解决方法:在$im = @imagecreate(500,500) or die("没有安装GD图像库<br>");前面加上ob_clean();先清除缓冲区。即可显示图片,但图片上的文字只能显示英文和数字,中文会出现乱码。

(2)imagestring 默认英文编码,只支持UTF-8,所以中文会出现乱码,应采用imagettftext($im,10,30,0,100,$texCol,"c:/windows/fonts/simhei.ttf",$motto);。

"c:/windows/fonts/simhei.ttf",系统自带的黑体。

以上就是图片输出乱码和图片上中文乱码的解决方法。

(编辑:北几岛)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读