ImageString如何把中文字符输出到图片中?

发布于 2022-08-27 11:44:24 字数 347 浏览 16 评论 0

试过利用iconv把中文字符转码然后输出,但还是乱码

    $s="你若输出,便是晴天";
    $ss=iconv("gb2312","utf8",$s);

    $im=ImageCreate(400,400);
    $black=ImageColorAllocate($im,0x00,0x00,0x00);
    ImageString($im,5,200,200,$ss,$black);
    Header('Content-Type:image/png');
    ImagePNG($im);

在网上搜了好久也没找到解决方法。 这个怎么破呢?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

梦屿孤独相伴 2022-09-03 11:44:24

imagestring使用点阵字库,如果你真的要用他的话需要自己构造中文的点阵字库,然后用imageloadfont来载入。
更推荐和常用的做法是使用imagettftext函数

<?php
header("Content-type: image/jpeg");
$im = imagecreatetruecolor(100,50);
$textcolor = imagecolorallocate($im,255,255,255);
$font = "C://windows/fonts/simhei.ttf";
$text='中国';
$text = mb_convert_encoding($text,'UTF-8','GB2312');
imagettftext($im,10,4,20,20,$textcolor,$font,$text);
imagejpeg($im);
?>
ˇ宁静的妩媚 2022-09-03 11:44:24

输出中文最好使用
imagettftext()

imagestring基本无能为力

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文