Maison php教程 PHP开发 使用emoji字符组成任意汉字

使用emoji字符组成任意汉字

Nov 23, 2016 pm 03:51 PM
emoji

使用emoji表情组成汉字或者简笔画,在微信、QQ的传播中甚广,就会想着要不自己也试着做出来吧.

比如下图:

154420_BzEY_1450051.png

一开始想到的实现方案就是: 首先将汉字转化成白底黑字的图片, 然后将图片根据灰度值映射成不同的字符打印在终端。

前者文字转图片,使用常见的绘图库非常好实现(比如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)]
Copier après la connexion

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)
Copier après la connexion

输出结果如下:

154420_BzEY_1450051.png

154420_BzEY_1450051.png

154420_BzEY_1450051.png

更多输出:

154420_BzEY_1450051.png

154420_BzEY_1450051.png

扩展

基于zh2emoji,自己实现了一个可能有点儿用的扩展: demo_show_animation.py.

它可以将一句话在终端依次打印出来,使用你决定的emoji或者其他字符.

比如你试着执行 python ./demo_show_animation.py 喜欢就点个赞呗, 将在终端执行一段展示文字的动画, 展示的文字就是你刚才输入的话.

如果你能够坚持看到这里, 不知道你有没有想到一些有意思的玩法不? 欢迎一起参与。编程是一种乐趣,代码是将一些头脑想法实现出来的媒介;程序员写代码,就好比作家写写文字,是一种习惯。

后续我可能打算, 在终端实现播放一个由emoji组成的简笔画形象的动画(比如布卡娘的加载动画)


Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn

Outils d'IA chauds

Undresser.AI Undress

Undresser.AI Undress

Application basée sur l'IA pour créer des photos de nu réalistes

AI Clothes Remover

AI Clothes Remover

Outil d'IA en ligne pour supprimer les vêtements des photos.

Undress AI Tool

Undress AI Tool

Images de déshabillage gratuites

Clothoff.io

Clothoff.io

Dissolvant de vêtements AI

AI Hentai Generator

AI Hentai Generator

Générez AI Hentai gratuitement.

Article chaud

R.E.P.O. Crystals d'énergie expliqués et ce qu'ils font (cristal jaune)
3 Il y a quelques semaines By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Meilleurs paramètres graphiques
3 Il y a quelques semaines By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Comment réparer l'audio si vous n'entendez personne
3 Il y a quelques semaines By 尊渡假赌尊渡假赌尊渡假赌
WWE 2K25: Comment déverrouiller tout dans Myrise
4 Il y a quelques semaines By 尊渡假赌尊渡假赌尊渡假赌

Outils chauds

Bloc-notes++7.3.1

Bloc-notes++7.3.1

Éditeur de code facile à utiliser et gratuit

SublimeText3 version chinoise

SublimeText3 version chinoise

Version chinoise, très simple à utiliser

Envoyer Studio 13.0.1

Envoyer Studio 13.0.1

Puissant environnement de développement intégré PHP

Dreamweaver CS6

Dreamweaver CS6

Outils de développement Web visuel

SublimeText3 version Mac

SublimeText3 version Mac

Logiciel d'édition de code au niveau de Dieu (SublimeText3)

Apple lance iOS 17.4 Beta 1, introduisant 118 nouveaux emojis, dont phénix, citron vert, etc. Apple lance iOS 17.4 Beta 1, introduisant 118 nouveaux emojis, dont phénix, citron vert, etc. Jan 26, 2024 am 08:24 AM

Selon des rapports du 26 janvier, selon le média technologique étranger emojipedia, dans la mise à jour iOS 17.4 Beta 1 publiée aujourd'hui, en plus d'améliorations majeures telles que le chargement latéral et les magasins d'applications tiers pour les tests dans 27 pays de l'UE, Apple a également ajouté plusieurs nouvel Émoji. La mise à jour iOS 17.4 Beta 1 ajoute du phénix, du citron vert, des visages souriants secouant la tête de haut en bas, ainsi qu'une série d'émoticônes de personnages qui montrent la voie, à partir de la mise à jour Emoji 15.1 proposée par Unicode en septembre 2023. Les Emoji complets sont joints comme suit : Cette mise à jour ajoute un total de 118 Emojis, dont 6 nouveaux Emojis et 4 Emojis familiaux non sexistes. De plus, il existe 6 expressions de caractères existantes

Comment désactiver les emoji dans Win10 Education Edition Comment désactiver les emoji dans Win10 Education Edition Feb 24, 2024 pm 01:55 PM

Les émoticônes Emoji sont la dernière fonction de méthode de saisie ajoutée à Win10 Education Edition. De nombreuses émoticônes mignonnes rendent le chat moins ennuyeux. Cependant, certains utilisateurs afficheront cette interface lorsqu'ils utiliseront les touches de raccourci. Aujourd'hui, je vais vous montrer comment désactiver les emoji dans Win10 Education Edition. . introduire. Comment désactiver emoji1 dans Win10 Education Edition Tout d'abord, vous devez cliquer avec le bouton droit sur la méthode de saisie sur le côté droit de la barre des tâches ci-dessous. 2. Sélectionnez Paramètres dans la boîte d'options contextuelle pour accéder à l'interface de configuration de la langue. 3. Sélectionnez l'option « Touches » dans l'interface et faites défiler vers le bas pour trouver « Ouvrir le panneau d'émoticônes et de symboles », où vous pouvez désactiver les expressions emoji. 4. Si d'autres méthodes de saisie sont installées, vous pouvez accéder à l'interface « Paramètres et langue » à partir des paramètres Windows, puis sélectionner

Comment saisir les emoji Huawei Comment saisir les emoji Huawei Sep 26, 2023 pm 01:31 PM

Méthode de saisie des emoji Huawei : 1. Les téléphones mobiles Huawei sont livrés avec un clavier emoji. Vous pouvez passer au clavier pour saisir des emoji lorsque vous saisissez du texte. 2. Lorsque vous devez saisir un emoji, appuyez longuement sur la zone de saisie, puis sélectionnez « Entrée ». « Paramètres de la méthode », dans les paramètres de la méthode de saisie, vous pouvez rechercher et sélectionner la méthode de saisie des emoji fournie avec le système ; 3. Vous pouvez télécharger et utiliser un clavier emoji tiers, puis naviguer sur le clavier et sélectionner l'emoji que vous souhaitez utiliser.

iOS 15.4 et iPadOS 15.4 Beta 1 bêta publique publiés, Face ID peut être utilisé même si vous portez un masque iOS 15.4 et iPadOS 15.4 Beta 1 bêta publique publiés, Face ID peut être utilisé même si vous portez un masque Apr 13, 2023 pm 11:01 PM

Apple a officiellement lancé iOS 15.4 et iPadOS 15.4 Beta 1 au public, version 19E5209h. Les notes de mise à jour officielles répertorient de nombreux changements, notamment l'ajout de nouvelles fonctionnalités. Prise en charge des masques Face ID Apple a ajouté « Mask Face ID » dans iOS 15.4. L'iPhone authentifiera les utilisateurs en identifiant les caractéristiques uniques de la zone autour des yeux lorsqu'ils portent un masque. Notez que les utilisateurs doivent utiliser l'iPhone 12 ou une version ultérieure pour utiliser cette fonctionnalité. Ajout de 112 nouvelles expressions Emoji iOS 15.4 Beta 1 prend officiellement en charge Emoji 14. Ajoutez-y

Que faire si l'emoji mysql est tronqué Que faire si l'emoji mysql est tronqué Feb 16, 2023 am 10:01 AM

Solution aux emoji mysql tronqués : 1. Vérifiez l'encodage de la table mysql via la commande "show create table test ENGINE=InnoDB DEFAULT CHARSET=utf8mb4" ; 2. Définissez l'encodage de lecture sur "utf8mb4" via "set names utf8mb4 ;".

iOS 15.4 et iPadOS 15.4 font officiellement leurs débuts pour ajouter la fonction Face ID de masque facial iOS 15.4 et iPadOS 15.4 font officiellement leurs débuts pour ajouter la fonction Face ID de masque facial Apr 17, 2023 pm 05:37 PM

Apple publie officiellement la très attendue version officielle d'iOS 15.4. Ce qui préoccupe le plus les gens cette fois-ci, c'est la fonction "Mask FaceID". Cette fonctionnalité permet aux modèles d'iPhone 12 ou supérieur de se déverrouiller comme FaceID normal après avoir activé la fonction FaceID. Et il ne se limite pas au déverrouillage, mais peut également être utilisé dans ApplyPay, AppStore et pour se connecter aux applications. La situation est exactement la même que celle du FaceID que nous utilisons quotidiennement. Ajout de 112 nouvelles expressions Emoji iOS15.4 prend officiellement en charge Emoji14. 37 nouvelles images Emojis ont été ajoutées et 75 couleurs de peau différentes sont prises en charge, ce qui signifie qu'il y en a 1

iOS 15.4 Beta 5 introduit de nouvelles fonctionnalités : Face ID, anti-tracking AirTag, etc. iOS 15.4 Beta 5 introduit de nouvelles fonctionnalités : Face ID, anti-tracking AirTag, etc. Apr 21, 2023 am 08:10 AM

Apple propose iOS15.4Beta5 et iPadOS15.4Beta5 aux développeurs. On estime qu'il s'agit peut-être de la version bêta finale. Elle entrera probablement en phase RC la semaine prochaine et la version officielle sera publiée avant la mi-mars. Fonction anti-pistage AirTag La nouvelle version d'iOS 15.4 introduit les fonctions anti-pistage AirTag et FindMy précédemment annoncées par Apple, elles ont maintenant été introduites dans la version bêta 4. Elles ajoutent des messages d'avertissement et ajustent l'avertissement « accessoires inconnus détectés » lors de la conception de l'appairage. . La nouvelle option vocale de Siri Pour les utilisateurs américains, iOS15.4Beta4 a ajouté la cinquième voix Siri (nom de fichier : Quinn).

iOS 15.4 et iPadOS 15.4 Beta 3 sont désormais disponibles pour prendre en charge les masques, Face ID et plus encore iOS 15.4 et iPadOS 15.4 Beta 3 sont désormais disponibles pour prendre en charge les masques, Face ID et plus encore Apr 19, 2023 pm 07:37 PM

Apple lance officiellement iOS15.4 et iPadOS15.4Beta3 aux développeurs, version 19E5225g. Les notes de mise à jour officielles répertorient de nombreux changements, notamment l'ajout de nouvelles fonctionnalités. Prise en charge du téléchargement et de la mise à jour des données mobiles Dans le passé, la mise à jour d'iOS nécessitait le WiFi, mais la nouvelle version d'iOS15.4Beta3 a ajouté la fonction « téléchargement de données mobiles », ce qui signifie qu'iOS peut être mis à jour même sans WiFi. Prise en charge de Mask FaceID Apple a ajouté « Mask FaceID » dans iOS 15.4. L'iPhone authentifiera les utilisateurs en identifiant les caractéristiques uniques de la zone autour des yeux lorsqu'ils portent un masque. Attention, les utilisateurs doivent utiliser un iPhone

See all articles