我正在使用Imagettftext函数在图像上写入文本,但我的文本包含表情符号,它将表情符号替换为方框 以下是mycode: $black = imagecolorallocate ( $main_img, 0x00, 0x00, 0x00 ); $font_path = "Arial.ttf"; imagettftext ( $main_img, 14, 0, 73, 685, $black, $font_path, $text ); 文本示例: test testt😘 Hello 👋💐 Those 👏 Mega x 👊❤️ Graphic 💋 我已尝试将字体更改为"Arial Unicode",但未解决问题。 如何解决此问题? 首先,我们需要了解emoji是如何实现的:
最后一种方法是我们感兴趣的。这是因为imagefttext是由PHP GD扩展提供的函数。而GD内部使用的是FreeType库来绘制文本。 从2.5版开始,在FreeType中支持表情符号。尝试执行php -i命令以查看您有什么版本的FreeType。这是我的: FreeType Support => enabled FreeType Linkage => with freetype FreeType Version => 2.5.2 但是,在尝试了我发现的一些示例字体here后,PHP一直抛出警告: Warning: imagefttext(): Could not set character size 恐怕GD library不支持FT_LOAD_COLOR标志。此标志需要有彩色表情符号。请参阅自由类型更改日志: 2013-05-23 Behdad Esfahbod Add support for color embedded bitmaps (eg. color emoji). A new load flag, FT_LOAD_COLOR, makes FreeType load color embedded-bitmaps, following this draft specification https://color-emoji.googlecode.com/git/specification/v1.html 回答您的问题:您不能使用imagefttext获得彩色笑脸。对不起,😉。 |
免责声明:本站部分文章和图片均来自用户投稿和网络收集,旨在传播知识,文章和图片版权归原作者及原出处所有,仅供学习与参考,请勿用于商业用途,如果损害了您的权利,请联系我们及时修正或删除。谢谢!
始终以前瞻性的眼光聚焦站长、创业、互联网等领域,为您提供最新最全的互联网资讯,帮助站长转型升级,为互联网创业者提供更加优质的创业信息和品牌营销服务,与站长一起进步!让互联网创业者不再孤独!
扫一扫,关注站长网微信