我正在使用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獲得彩色笑臉。對不起,😉。 |
免責聲明:本站部分文章和圖片均來自用戶投稿和網絡收集,旨在傳播知識,文章和圖片版權歸原作者及原出處所有,僅供學習與參考,請勿用于商業用途,如果損害了您的權利,請聯系我們及時修正或刪除。謝謝!
始終以前瞻性的眼光聚焦站長、創業、互聯網等領域,為您提供最新最全的互聯網資訊,幫助站長轉型升級,為互聯網創業者提供更加優質的創業信息和品牌營銷服務,與站長一起進步!讓互聯網創業者不再孤獨!
掃一掃,關注站長網微信