>  기사  >  백엔드 개발  >  Python은 한자 글꼴을 출력하고 텍스트를 그림으로 변환합니다.

Python은 한자 글꼴을 출력하고 텍스트를 그림으로 변환합니다.

高洛峰
高洛峰원래의
2017-03-03 15:21:584193검색

파이썬을 사용하여 한자 라이브러리 출력

질문 1: 한자 인코딩 범위가 0x4E00 ~ 0x9FA5인 것을 알고 있다고 가정하고, 16진수 인코딩을 인간 인코딩으로 변환하는 방법 읽기 가능 단어는 어떻습니까?
질문 2: 유니코드로 인코딩된 문자를 파일에 쓰는 방법은 무엇입니까? open()을 직접 사용하면 UnicodeEncodeError: 'ascii' codec can't encode Character u'u4e00' in position 0: ordinal not in range라는 메시지가 표시됩니다. (128)

질문 1의 답은 unihr을 사용하는 것이고, 질문 2의 답은 코덱을 사용하는 것입니다.
코드는 아래와 같습니다.

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))

chinese.txt 파일을 열면 스크린샷은 아래와 같습니다

Python은 한자 글꼴을 출력하고 텍스트를 그림으로 변환합니다.


파이썬을 사용하여 텍스트를 그림 글꼴로 변환
위에서 한자 글꼴을 얻는 방법에 대해 설명했습니다. 이제 각 단어를 그림 글꼴로 변환하는 방법에 대해 이야기하겠습니다. 기계 학습에 유용합니다.
한 문장으로 파이게임을 사용하여 텍스트를 그림으로 렌더링하세요.
코드는 아래와 같습니다.

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"))

다음은 효과 스크린샷입니다.

Python은 한자 글꼴을 출력하고 텍스트를 그림으로 변환합니다.

Python의 한자 글꼴 출력 및 텍스트를 이미지로 변환하는 관련 기사를 더 보려면 PHP 중국어 사이트를 주목하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.