使用emoji字符组成任意汉字
使用emoji表情组成汉字或者简笔画,在微信、QQ的传播中甚广,就会想着要不自己也试着做出来吧.
比如下图:
一开始想到的实现方案就是: 首先将汉字转化成白底黑字的图片, 然后将图片根据灰度值映射成不同的字符打印在终端。
前者文字转图片,使用常见的绘图库非常好实现(比如python的PIL库);工作量无非只是实现过程中慢慢调整排版, 以达到自己的预期效果.
后者则是简单的映射关系而已: 将图片中像素点的灰度值, 映射成某个字符; 在该实现中, 对于黑底白字的图片只有两个映射关系,黑字对应要替换的emoji字符, 白底对应空白.
该部分的python实现代码如下:
ascii_char = list('1234567890abcd ') # 任意多个字符,灰度值的映射区间 def select_ascii_char(r, g, b): ''' 在灰度图像中,灰度值最高为255,代表白色; 最低为0,代表黑色 ''' # 把RGB转为灰度值,并且返回该灰度值对应的字符标记 # 'RGB-灰度值'转换公式如下 gray = int((19595 * r + 38469 * g + 7472 * b) >> 16) # ascii_char中的一个字符所能表示的灰度值区间 unit = 256.0 / len(ascii_char) return ascii_char[int(gray/unit)]
select_ascii_char 就实现了将一个像素点映射成一个具体的自定义字符char.
在本功能的实现中, ascii_char更简单, 只需要两个字符即可: 一个任意给定, 一个是空格.
因此将 ascii_char 换成 [u'❤️ ', u' ']
由于需要将图片的像素点映射到可在终端打印的字符, 终端的显示空间有限, 所以需要对图片进行缩小调整.
zh2emoji的代码在我的github上有对应的代码下载, 如果你有兴趣,可以fork后实现自己想要的更多自定义功能.
展示
一个"茴"字我有N多种写法:
print image2print(word2image(u'茴'), u'❤️ ') print image2print(word2image(u'茴'), u'W ') print image2print(word2image(u'茴'), u'茴', width=40)
输出结果如下:
更多输出:
扩展
基于zh2emoji,自己实现了一个可能有点儿用的扩展: demo_show_animation.py.
它可以将一句话在终端依次打印出来,使用你决定的emoji或者其他字符.
比如你试着执行 python ./demo_show_animation.py 喜欢就点个赞呗, 将在终端执行一段展示文字的动画, 展示的文字就是你刚才输入的话.
如果你能够坚持看到这里, 不知道你有没有想到一些有意思的玩法不? 欢迎一起参与。编程是一种乐趣,代码是将一些头脑想法实现出来的媒介;程序员写代码,就好比作家写写文字,是一种习惯。
后续我可能打算, 在终端实现播放一个由emoji组成的简笔画形象的动画(比如布卡娘的加载动画)

热AI工具

Undresser.AI Undress
人工智能驱动的应用程序,用于创建逼真的裸体照片

AI Clothes Remover
用于从照片中去除衣服的在线人工智能工具。

Undress AI Tool
免费脱衣服图片

Clothoff.io
AI脱衣机

AI Hentai Generator
免费生成ai无尽的。

热门文章

热工具

记事本++7.3.1
好用且免费的代码编辑器

SublimeText3汉化版
中文版,非常好用

禅工作室 13.0.1
功能强大的PHP集成开发环境

Dreamweaver CS6
视觉化网页开发工具

SublimeText3 Mac版
神级代码编辑软件(SublimeText3)

热门话题

1月26日消息,根据国外科技媒体emojipedia报道,苹果在今天发布的iOS17.4Beta1更新中,面向27个欧盟国家测试开放侧载、第三方应用商店等重大改进之外,还新增了多个Emoji表情符号。iOS17.4Beta1更新添加了包括凤凰、青柠、上下摇头的笑脸,一系列指明方向的人物表情符号,来自Unicode于2023年9月提出的Emoji15.1更新。附上完整Emoji如下:本次更新共计新增118个Emoji,包括6个全新Emoji,4个无性别区分的家庭Emoji。此外还有6个现有人物表情

emoji表情作为Win10教育版最新添加的输入法功能,很多可爱的表情让聊天不在枯燥,但是有的用户在使用快捷键的时候会弹出该界面,今天小编为大家带来Win10教育版关闭emoji方法介绍。Win10教育版怎么关闭emoji1、首先需要右击下方任务栏右侧的输入法。2、在弹出的选项框中选择设置,进入语言设置界面。3、选择界面中的“按键”选项并滚动到最底端,能够找到“打开表情及符号面板”,这里可以关闭emoji表情。4、如果还安装了其他输入法的话,可以从Windows设置进入“设置和语言”界面,随后选

华为emoji输入方法:1、华为手机自带了一个emoji表情键盘,可以在输入文字的时候切换到该键盘来输入emoji表情;2、在需要输入emoji的地方,长按输入框,然后选择“输入法设置”,在输入法设置中,可以找到并选择系统自带的emoji输入法;3、可以下载并使用第三方的emoji表情键盘,然后,可以在键盘上浏览并选择想要使用的emoji表情。

Apple 正式向公众推出iOS 15.4 及iPadOS 15.4 Beta 1,版本为19E5209h。这次官方的更新说明中列出众多改变,包括加入新功能。支持口罩 Face IDApple 在iOS 15.4 中加入了「口罩Face ID」,iPhone 会在用户戴口罩时通过辨识眼睛周围区域的独特特征来进行认证。留意,用户必须使用iPhone 12 或以上的型号iPhone 才可使用这项功能。加入112 个新Emoji 表情图示iOS 15.4 Beta 1 正式支持Emoji 14。当中加

mysql emoji乱码的解决办法:1、通过“show create table test ENGINE=InnoDB DEFAULT CHARSET=utf8mb4”命令查看mysql表编码;2、通过“set names utf8mb4;”设置读取编码为“utf8mb4”即可。

Apple向开发者推送iOS15.4Beta5及iPadOS15.4Beta5,估计这可能是最后Beta,下周很有可能会进入RC阶段,而正式版会在3月中之前登场。AirTag反追踪功能新版iOS15.4引进早前Apple宣布的AirTag、FindMy反追踪功能,现在已于Beta4中引进,分别在配对设计时加入警告讯息及调整「侦测出不明配件」的警告。Siri新语音选择对于美国用户来说,iOS15.4Beta4加入了第五款Siri语音(档名为Quinn),美国地

Apple正式发布万众期待的iOS15.4正式版。这次最多人关心的就是「口罩FaceID」功能。这功能可让iPhone12或以上型号的iPhone在启用口罩FaceID功能后,如同平日的FaceID一般解锁。而且不限于解锁,更可在ApplyPay、AppStore、登入Apps之用,情况跟我们平日用的FaceID完全一样。加入112个新Emoji表情图示iOS15.4正式支持Emoji14。当中加入37款全新形像Emoji,还有75款不同肤色支持,那就是说有1

Apple正式向开发者推出iOS15.4及iPadOS15.4Beta3,版本为19E5225g。这次官方的更新说明中列出众多改变,包括加入新功能。支持行动数据下载更新以往,更新iOS需要WiFi,但新版iOS15.4Beta3中已加入了「行动数据下载」功能,那就是说即使没有WiFi也可更新iOS。支持口罩FaceIDApple在iOS15.4中加入了「口罩FaceID」,iPhone会在用户戴口罩时通过辨识眼睛周围区域的独特特征来进行认证。留意,用户必须使用iPhon
