문제

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)

나는이 게시물이 오래되었음을 알고 있지만 오늘은 솔루션에 도달하는 데 도움이되었습니다. 그래서 나는 누구를 도와 주길 바랍니다.

=)

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top