PIL、ImageFont、ImageDraw如何显示粗体字????

XIANXir 2011-06-27 08:37:55

font = ImageFont.truetype("simsun.ttc",24) #simsun.ttc是宋体字库文件,要和本程序放在一个目录下
img0 = Image.new('L',(24,24),0)
draw = ImageDraw.Draw(img0)
draw.text((0,0),u'你',font=font,fill=256)


这样显示的汉字是不加粗的,那如何显示粗体的汉字呢???
...全文
6461 8 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
8 条回复
切换为时间正序
请发表友善的回复…
发表回复
XIANXir 2011-06-28
  • 打赏
  • 举报
回复 1
[Quote=引用 6 楼 panghuhu250 的回复:]

ttc是一些ttf文件的集合,它很可能也包含黑体字。试试下面调用中的index取不同的值,看结果如何。

Python code
font = ImageFont.truetype("simsun.ttc",24,index=1)


另外,用我后来给的办法比较准确,原因我跟在原贴后了。
[/Quote]

我试过了,simsun.ttc的确是三种ttf文件的集合,但是他是“宋体、新宋体、宋体-PUA”三种字体的集合,与粗不粗体无关。。。

我感觉:ttf文件可能是只有常规字体,至于在wold中显示各种的加粗、斜体之类的效果,应是word本身通过算法来完成的。。。。
XIANXir 2011-06-28
  • 打赏
  • 举报
回复
[Quote=引用 6 楼 panghuhu250 的回复:]

ttc是一些ttf文件的集合,它很可能也包含黑体字。试试下面调用中的index取不同的值,看结果如何。

Python code
font = ImageFont.truetype("simsun.ttc",24,index=1)


另外,用我后来给的办法比较准确,原因我跟在原贴后了。
[/Quote]

呵呵,大侠的热心让俺感动啊!!!
大侠的建议我都知道了,我试试看吧!!
panghuhu250 2011-06-27
  • 打赏
  • 举报
回复
ttc是一些ttf文件的集合,它很可能也包含黑体字。试试下面调用中的index取不同的值,看结果如何。

font = ImageFont.truetype("simsun.ttc",24,index=1) 


另外,用我后来给的办法比较准确,原因我跟在原贴后了
iambic 2011-06-27
  • 打赏
  • 举报
回复
理论上肯定是能实现上的,可能PIL只是个图片库,没有调用系统的字体系统吧。毕竟PIL不是个十分活跃的项目,有些不完善也正常。
XIANXir 2011-06-27
  • 打赏
  • 举报
回复
我记得Tk里面的字体是有一个Bold选项的!!!

怎么反而ImageFont就不支持这个选项呢???
XIANXir 2011-06-27
  • 打赏
  • 举报
回复
[Quote=引用 2 楼 iambic 的回复:]

用雅黑吧。有专门粗体文件。
[/Quote]

只好这样了,虽然麻烦了点,可是总归从网上找到粗体字库可以解决!!!这样还是可以接受的!!
iambic 2011-06-27
  • 打赏
  • 举报
回复
用雅黑吧。有专门粗体文件。
XIANXir 2011-06-27
  • 打赏
  • 举报
回复
Bold and italic typefaces are usually separate designs from the
"regular" version, so TrueType/OpenType fonts usually consist of a
number of separate font files.

PIL has no support for synthetic font manipulations (and there's
nothing built in to FreeType either, even if you can simulate some
styles using low-level outline transforms).

这是什么意思??是不是说,我只有通过加载粗体字库才能用ImageFont显示粗体的汉字啊????

可是Windows目录下没有专门的粗体的宋体字库啊???

37,743

社区成员

发帖
与我相关
我的任务
社区描述
JavaScript,VBScript,AngleScript,ActionScript,Shell,Perl,Ruby,Lua,Tcl,Scala,MaxScript 等脚本语言交流。
社区管理员
  • 脚本语言(Perl/Python)社区
  • WuKongSecurity@BOB
加入社区
  • 近7日
  • 近30日
  • 至今

试试用AI创作助手写篇文章吧