Heim > Artikel > Backend-Entwicklung > Python gibt chinesische Schriftarten aus und wandelt Text in Bilder um
Verwenden Sie Python, um die Bibliothek chinesischer Zeichen auszugeben
Frage 1: Angenommen, wir wissen, dass der Kodierungsbereich für chinesische Zeichen 0x4E00 bis 0x9FA5 ist, wie man von hexadezimaler Kodierung in menschliche Kodierung konvertiert lesbar Was ist mit dem Wort?
Frage 2: Wie schreibe ich Unicode-codierte Zeichen in eine Datei? Wenn Sie open() direkt verwenden, wird UnicodeEncodeError angezeigt: „ASCII“-Codec kann Zeichen u'u4e00 nicht an Position 0 codieren: Ordinalzahl nicht vorhanden Bereich (128)
Die Antwort auf Frage 1 ist die Verwendung von unichr und die Antwort auf Frage 2 ist die Verwendung von Codecs.
Der Code ist unten.
import codecs start,end = (0x4E00, 0x9FA5) with codecs.open("chinese.txt", "wb", encoding="utf-8") as f: for codepoint in range(int(start),int(end)): f.write(unichr(codepoint))
Öffnen Sie die Datei chinese.txt, der Screenshot sieht wie folgt aus
Verwenden Sie Python, um Text in eine Bildschriftart umzuwandeln
Oben wurde beschrieben, wie Sie die Schriftart für chinesische Schriftzeichen erhalten. Lassen Sie uns nun darüber sprechen, wie Sie jedes Zeichen in Bilder umwandeln. was beim maschinellen Lernen nützlich sein wird.
In einem Satz: Verwenden Sie Pygame, um Text auf Bildern darzustellen.
Der Code ist unten.
import os import pygame chinese_dir = 'chinese' if not os.path.exists(chinese_dir): os.mkdir(chinese_dir) pygame.init() start,end = (0x4E00, 0x9FA5)#汉字编码范围 for codepoint in range(int(start),int(end)): word = unichr(codepoint) font = pygame.font.Font("msyh.ttc", 22)#当前目录下要有微软雅黑的字体文件msyh.ttc,或者去c:\Windows\Fonts目录下找 rtext = font.render(word, True, (0, 0, 0), (255, 255, 255)) pygame.image.save(rtext, os.path.join(chinese_dir,word+".png"))
Das Folgende ist ein Screenshot des Effekts.
Weitere Artikel zur Ausgabe chinesischer Schriftarten in Python und zum Konvertieren von Text in Bilder finden Sie auf der chinesischen PHP-Website!