suchen
Heimphp教程PHP开发Verwenden Sie Emoji-Zeichen, um beliebige chinesische Schriftzeichen zu bilden

Die Verwendung von Emoji-Ausdrücken zum Verfassen chinesischer Schriftzeichen oder einfacher Zeichnungen ist auf WeChat und QQ weit verbreitet, daher habe ich darüber nachgedacht, es selbst zu erstellen

Zum Beispiel das Bild unten:

Verwenden Sie Emoji-Zeichen, um beliebige chinesische Schriftzeichen zu bilden

Der Implementierungsplan, der mir zu Beginn in den Sinn kam, war: Konvertieren Sie zunächst chinesische Schriftzeichen in Bilder mit schwarzen Schriftzeichen auf weißem Hintergrund und ordnen Sie die Bilder dann basierend auf Graustufenwerten verschiedenen Schriftzeichen zu ​und am Terminal ausdrucken.

Die frühere Text-zu-Bild-Konvertierung lässt sich mithilfe gängiger Zeichenbibliotheken (z. B. der PIL-Bibliothek von Python) sehr einfach implementieren. Der Arbeitsaufwand besteht lediglich darin, den Schriftsatz während des Implementierungsprozesses langsam anzupassen, um den gewünschten Effekt zu erzielen .

Letzteres ist nur eine einfache Zuordnungsbeziehung: Ordnen Sie den Grauwert der Pixel im Bild einem bestimmten Zeichen zu. In dieser Implementierung gibt es nur zwei Zuordnungsbeziehungen für Bilder mit weißen Zeichen auf schwarzem Hintergrund , und die entsprechenden schwarzen Zeichen müssen durch Emoji-Zeichen ersetzt werden, der weiße Hintergrund entspricht dem Leerzeichen

Der Python-Implementierungscode dieses Teils lautet wie folgt:

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 realisiert die Zuordnung eines Pixels in ein bestimmtes benutzerdefiniertes Zeichen char.

Bei der Implementierung dieser Funktion ist ascii_char einfacher und erfordert nur zwei Zeichen: eines wird zufällig angegeben und das andere ist ein Leerzeichen.

Ersetzen Sie also ascii_char durch [u'❤️ ' , u' ']

Da die Pixel des Bildes Zeichen zugeordnet werden müssen, die auf dem Terminal gedruckt werden können, ist der Anzeigeraum des Terminals begrenzt, sodass das Bild dies tun muss reduziert und angepasst werden.

zh2emoji-Code Es gibt einen entsprechenden Code-Download auf meinem Github. Wenn Sie interessiert sind, können Sie ihn teilen, um weitere gewünschte individuelle Funktionen zu erreichen.

Anzeigen

Ich habe das Wort „Fenchel“ in mehreren Schreibweisen:

print image2print(word2image(u'茴'), u'❤️ ')
print image2print(word2image(u'茴'), u'W ')
print image2print(word2image(u'茴'), u'茴', width=40)

Die Ausgabeergebnisse sind wie folgt:

Verwenden Sie Emoji-Zeichen, um beliebige chinesische Schriftzeichen zu bilden

Verwenden Sie Emoji-Zeichen, um beliebige chinesische Schriftzeichen zu bilden

Verwenden Sie Emoji-Zeichen, um beliebige chinesische Schriftzeichen zu bilden

Mehr Ausgabe:

Verwenden Sie Emoji-Zeichen, um beliebige chinesische Schriftzeichen zu bilden

Verwenden Sie Emoji-Zeichen, um beliebige chinesische Schriftzeichen zu bilden

Erweiterung

Basiert Auf zh2emoji habe ich eine Erweiterung implementiert, die nützlich sein kann: demo_show_animation.py.

Es kann einen Satz nacheinander auf dem Terminal ausdrucken, wobei das Emoji oder andere von Ihnen festgelegte Zeichen verwendet werden.

Für Wenn Sie beispielsweise versuchen, python ./demo_show_animation.py auszuführen, klicken Sie auf „Gefällt mir“, eine Animation, die Text anzeigt, wird im Terminal ausgeführt. Der angezeigte Text ist der, den Sie gerade eingegeben haben.

Wenn Sie können bis zu diesem Punkt durchhalten. Haben Sie sich ein interessantes Gameplay ausgedacht? Willkommen, machen Sie gemeinsam mit. Programmieren macht Spaß, und Code ist ein Medium zur Verwirklichung einiger mentaler Ideen. Programmierer schreiben Code, genau wie Schriftsteller Wörter schreiben, es ist eine Gewohnheit.

In Zukunft plane ich möglicherweise, eine aus Emojis bestehende Animation im Terminal abzuspielen (z. B. die Ladeanimation von Buka Girl)


Stellungnahme
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn

Heiße KI -Werkzeuge

Undresser.AI Undress

Undresser.AI Undress

KI-gestützte App zum Erstellen realistischer Aktfotos

AI Clothes Remover

AI Clothes Remover

Online-KI-Tool zum Entfernen von Kleidung aus Fotos.

Undress AI Tool

Undress AI Tool

Ausziehbilder kostenlos

Clothoff.io

Clothoff.io

KI-Kleiderentferner

AI Hentai Generator

AI Hentai Generator

Erstellen Sie kostenlos Ai Hentai.

Heißer Artikel

R.E.P.O. Energiekristalle erklärten und was sie tun (gelber Kristall)
3 Wochen vorBy尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Beste grafische Einstellungen
3 Wochen vorBy尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. So reparieren Sie Audio, wenn Sie niemanden hören können
3 Wochen vorBy尊渡假赌尊渡假赌尊渡假赌
WWE 2K25: Wie man alles in Myrise freischaltet
4 Wochen vorBy尊渡假赌尊渡假赌尊渡假赌

Heiße Werkzeuge

mPDF

mPDF

mPDF ist eine PHP-Bibliothek, die PDF-Dateien aus UTF-8-codiertem HTML generieren kann. Der ursprüngliche Autor, Ian Back, hat mPDF geschrieben, um PDF-Dateien „on the fly“ von seiner Website auszugeben und verschiedene Sprachen zu verarbeiten. Es ist langsamer und erzeugt bei der Verwendung von Unicode-Schriftarten größere Dateien als Originalskripte wie HTML2FPDF, unterstützt aber CSS-Stile usw. und verfügt über viele Verbesserungen. Unterstützt fast alle Sprachen, einschließlich RTL (Arabisch und Hebräisch) und CJK (Chinesisch, Japanisch und Koreanisch). Unterstützt verschachtelte Elemente auf Blockebene (wie P, DIV),

WebStorm-Mac-Version

WebStorm-Mac-Version

Nützliche JavaScript-Entwicklungstools

VSCode Windows 64-Bit-Download

VSCode Windows 64-Bit-Download

Ein kostenloser und leistungsstarker IDE-Editor von Microsoft

EditPlus chinesische Crack-Version

EditPlus chinesische Crack-Version

Geringe Größe, Syntaxhervorhebung, unterstützt keine Code-Eingabeaufforderungsfunktion

MantisBT

MantisBT

Mantis ist ein einfach zu implementierendes webbasiertes Tool zur Fehlerverfolgung, das die Fehlerverfolgung von Produkten unterstützen soll. Es erfordert PHP, MySQL und einen Webserver. Schauen Sie sich unsere Demo- und Hosting-Services an.