gm 图片二次处理
发布于 6 年前 作者 nlbydcg 2656 次浏览 来自 问答

现在有一个需求就是让我生成的图片上戴上微信的用户名,现在这行数据都是[捂脸]测试昵称😂🎶 带表情的名称。结果生成图片变成了这种image.png
有老哥处理过这样的问题么 用gm 让其支持表情的文本输入

2 回复

或许我可以帮助你,一会儿我去看看GM库,此前还没接触过GM呢。先说说我的见解,不知道有没有说错,欢迎其他大牛指正。这个捂脸呢,是没法直接转的,因为它是微信自己制作的表情,而测试昵称后面的那两个😂🎶 是可以的,因为他俩是emoji表情,包含在Unicode中。 总的来说,大体思路是这样:

世界通用的emoji表情

可以直接处理,并根据编号查找对应的emoji图片。之所以各种操作系统的手机、电脑都能直接显示emoji表情,是因为这些操作系统都内置emoji“识别”并以“图像”的形式显示出来。你帖子里的截图,显示两个问号,应该是你用来处理用户微信名字的环境没有支持好emoji。要不,你再稍微详细介绍下整个实现过程,关键步骤用什么实现的。方便大家判断、协助你完成需求。(当然前提是如果不涉及保密业务允许透露的前提下)

而微信的内置表情

也可以用类似的思路,找到微信官方的“自制表情资源”,再根据"[捂脸]"这样的信息去展示对应的图像。我猜测这个微信内部实现有点类似于css雪碧吧。

现在用gm的这个包生成的emoji文件 接口调用 后台确实接收的也是emoji 可是 在用 gm 的draw 生成到图片上的时候就变成了???乱码了= = 是因为我线上环境是liunx系统的问题么= =。。。中间没有任何操作, 就是拿到数据调用gm的draw 方法中去

回到顶部