PIL과 함께 대담한/이탈리아 텍스트를 그립니다.
-
06-07-2019 - |
문제
PIL로 대담한/이탈리아 텍스트를 그리는 방법? ImageFont.truetype (파일, 크기)에는 글꼴 크기 만 지정할 수있는 옵션이 있습니다.
해결책
대담한/이탤릭체 버전의 글꼴을 사용하십시오
다른 팁
많은 글꼴이 대담한/이탤릭체 버전에 다른 TTF 파일을 사용하므로 해당 파일을 지정하면 작동한다고 상상합니다.
(어떤 이유로 든) 별도의 대담한 버전이 없다면 글꼴을 대담하게 만드는 다소 해킹 된 솔루션은 약간의 오프셋으로 동일한 텍스트를 여러 번 인쇄하는 것입니다.
andaleMono = ImageFont.truetype(ANDALE_MONO_PATH,16)
text = "hello world"
mainOffset = (50,50)
xoff, yoff = mainOffset
draw.text(mainOffset,text,font=andaleMono,fill='black')
draw.text((xoff+1,yoff+1),text,font=andaleMono,fill='black')
draw.text((xoff-1,yoff-1),text,font=andaleMono,fill='black')
글쎄, 이것은 나의 첫 번째 의견이다. 여기 우리는 간다.
절차를 명확히하려고 노력하겠습니다. 처음에는 내가 한 일은 이와 같이 글꼴의 "이름"을 사용하는 것이 었습니다.
font = ImageFont.truetype("C:\Windows\Fonts\\Arial Negrita.ttf",25)
그러나 다음과 같은 오류 만 얻었습니다.
Traceback (most recent call last):
File "C:/Users/555STi/PycharmProjects/PIL/img.py", line 8, in <module>
font = ImageFont.truetype("C:\Windows\Fonts\Arial negrita.ttf",25)
File "C:\Python27\lib\site-packages\PIL\ImageFont.py", line 262, in truetype
return FreeTypeFont(font, size, index, encoding)
File "C:\Python27\lib\site-packages\PIL\ImageFont.py", line 142, in __init__
self.font = core.getfont(font, size, index, encoding)
IOError: cannot open resource
그런 다음 때때로 글꼴이 다른 "이름"또는 "파일 이름"이 있다는 것을 기억했습니다.
"Negrita"스타일을 마우스 오른쪽 버튼으로 클릭하고 "속성"을 선택한 다음 글꼴의 "실제 이름"이있었습니다.
제 경우에는 이름이 "Ariblk"였습니다.
그런 다음 마지막으로, 방금 이런 이름을 사용했습니다.
font = ImageFont.truetype("C:\Windows\Fonts\\ariblk.ttf",25)
나는이 게시물이 오래되었음을 알고 있지만 오늘은 솔루션에 도달하는 데 도움이되었습니다. 그래서 나는 누구를 도와 주길 바랍니다.
=)
제휴하지 않습니다 StackOverflow