如何用PIL繪製粗體/斜體文字? ImageFont.truetype(文件,大小)只能指定字體大小。用PIL畫粗體/斜體文字?
9
A
回答
8
使用字體的粗體/斜體版
4
許多字體爲粗體/斜體版本使用不同的TTF文件,所以我會想象如果您只是指定該文件,它將起作用。
1
嗯,這是我的第一條評論。開始了。
我會試着澄清一下程序。起初,我所做的就是用「名」的字體像這樣
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(粗體),cursiva(斜體)等。
右鍵單擊「negrita 「樣式,選中」屬性「,然後出現字體的」真實名稱「。
在我的情況下,名字是「ariblk」
然後,最後,只是使用的名字是這樣的。
font = ImageFont.truetype("C:\Windows\Fonts\\ariblk.ttf",25)
我知道這篇文章是舊的,但今天幫我找到解決方案。所以我希望能夠幫助任何人。
=)
3
一個相當哈克解決方案,使字體加粗,如果(無論何種原因)你沒有字體的一個單獨的粗體版本是幾次有輕微的偏移打印相同的文字。
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')
相關問題
- 1. 更改字體樣式(粗體,斜體,粗體斜體)在C#
- 2. 粗體/斜體與畫布無關fillText()
- 3. ImageMagick:粗體和斜體字體?
- 4. 使字體斜體和粗體
- 5. 如何支持中文的斜體字體和粗體字體
- 6. 如何從字體面板(NSFontPanel)中檢索字體樣式(粗體,斜體,粗斜體)和顏色?
- 7. 加粗和斜體
- 8. 在Eclipse中禁用粗體和斜體
- 9. 如何將粗體和斜體字體應用於NSAttributedString?
- 10. 更改checkboxGroupInput標籤的字體標記(即粗體,斜體)
- 11. htmlText不顯示粗體或斜體字體
- 12. 在ReStructuredText中加粗斜體
- 13. 使TextView粗斜體等
- 14. ffmpeg-drawtext style-粗體,斜體,下劃線
- 15. safari css粗體字體太粗體
- 16. Ghostscript粗體字體
- 17. 如何使用手柄呈現斜體/粗體文本?
- 18. 閱讀文本文件的樣式(粗體,斜體...)
- 19. 使用c從word文檔中讀取粗體和斜體字的單詞#
- 20. ScalaTags中的簡潔粗體/斜體字段落
- 21. 如何告訴sIFR 3使用粗體,斜體等不同的字體?
- 22. 我可以使用OCR來檢測字體樣式(粗體,斜體)嗎?
- 23. ITrextSharp一起使用多種字體樣式。即粗體,下劃線,斜體...等
- 24. 使用CGContext,我該如何使字體爲斜體還是粗體?
- 25. 在iPhone中使用粗體重的粗體字體
- 26. Blackberry:LabelField文本的粗體字體
- 27. VBA:使粗體或斜體的特定文本
- 28. C#或VB文檔註釋中的粗體或斜體?
- 29. 從textField中選擇粗體和斜體文本
- 30. NSTextField - 使選定文本爲粗體,斜體還是下劃線?
只是爲了澄清:字體的每個版本是在一個單獨的文件,如:ARIAL.TTF,ArialBold.ttf等。 – btk 2012-02-29 16:43:48