即:打开记事本,将字体选为“Arial,Size 11”,仔细输入“这只是一个测试”字样,截图如下:

输入并运行以下Python代码:

import ImageFont, ImageDraw, Image

im = Image.open("c:/textimg.png") #the above image

pilfont = ImageFont.truetype("arial.ttf", 11)

compimg = Image.new("RGB", im.size, (255, 255, 255))

draw = ImageDraw.Draw(compimg)

draw.text((0,0), "this is just a test", (0,0,0), font=pilfont)

compimg.save("c:/compimg.png")

但结果却令人失望地不同:

它不仅尺寸错误,而且还略微阴影,而记事本渲染很清晰,没有像素边界.

我怎样才能让它像记事本一样呈现?我也遇到了pygame的这个问题,所以我想我在这里缺少一些关于TTF的基本理解.

更新:我再次尝试使用pygame.它做同样的事情.它确实有一个关闭消除锯齿的选项,但看起来它只是根据某个阈值消除了它的抗锯齿像素.我得到的最接近的是使用15号.代码是:

pygfont = pygame.font.Font(r"c:\windows\fonts\arial.ttf", 15)

surf = pygfont.render("this is just a test", False, (0,0,0), (255,255,255))

pygame.image.save(surf, r"c:\pygameimg.png")

和结果(记事本原件在上面进行比较):

Gah为什么我不能马上提供赏金?

更新:这里比较所有方法:

PIL 15,然后记事本11,然后pygame 15反别名关闭,然后pygame 15反别名开启.

PIL 15实际上具有正确的比例,它只是消除锯齿.所以:为什么15对11?如何让它像Windows一样做到这一点? (和wtf是pygame吗?)

python输出大小不同的字体_python – 为什么我的truetype字体大小为11渲染与windows不同?...相关推荐

  1. python画图字体_python Matplotlib画图之调整字体大小的示例

    一张字体调整好的示例图: 字体大小就是 fontsize 参数 import matplotlib.pyplot as plt # 代码中的"..."代表省略的其他参数 ax = ...

  2. python输出元组重复的元素_python – 从n个元素生成所有4元组对

    我希望在给定大小为n的数组的情况下生成所有可能的4元组对的列表. n至少为8,因此总能找到至少1对. 作为一个有助于理解问题的例子,我使用较小版本的问题,2元组对给出一个大小为5的数组.2元组对的预期 ...

  3. python 图标字体_Python+PyQt:使用图标字体打造无边框通用导航界面

    Python是一种面向对象的高级动态编程语言,相比于其它如C/C++语言,具有上手快.代码少.开发效率高的特点,Qt是跨平台的C++图形用户界面应用程序开发框架,是当前主流的GUI开发工具之一,其在P ...

  4. python输出九九乘法表儿歌_python学习:输出九九乘法表

    输出九九乘法表 代码: num1 = 1 while num1 <= 9: num2 = 1 while num2 <= num1: print(str(num2)+"*&quo ...

  5. python输出奇数数字序位_python对输出的奇数偶数排序实例代码

    我们从小学的时候就学习了奇数偶数,知道整数可以分成奇数和偶数两大类,能被2整除的数叫做偶数,不能被2整除的数叫做奇数.在我们python编程中,会遇到很多数字和代码,有的时候会很乱,不好操作. 在遇到 ...

  6. python输出汉字怎么注释中文_Python使用中文注释和输出中文(原创)

    标签: 刚开始学习python,需要在Python中注释中文和输出中文,现在开始尝试: 仅为初步学习参考,高手请绕行. ---------------------------------------- ...

  7. python输出读取的空格数目_Python 3基础教程: 输入和输出具体代码实例

    在前面文章中,我们其实已经接触了 Python 的输入输出的功能.本章节我们将具体介绍 Python 的输入输出. 输出格式美化 Python两种输出值的方式: 表达式语句和 print() 函数.( ...

  8. python输出关键字的行号_python – 使用关键字行号创建字典

    我试图通读一个txt.file并打印关键字出现的行号.这是我到目前为止所拥有的: def index(filename, word_lst): dic = {} line_count = 0 for ...

  9. 用python输出200以内的素数_Python练习题 008:打印101-200之间的所有素数

    [Python练习题 008]判断101-200之间有多少个素数,并输出所有素数. ---------------------------------------------------------- ...

最新文章

  1. Vue实例的生命周期
  2. 你不一定懂的cpu显示信息
  3. C和C++中static的用法及友元
  4. 修改Mysql表中自增字段的初始值
  5. php memcache 64,PHP 5.3.13 memcache win 64 配置和安装
  6. poj1753 Flip Game(枚举Enum+dfs)
  7. python--继承
  8. .Net QQ互联教程 1
  9. @class与#import
  10. urlrewrite配置
  11. addr2line工具使用
  12. matlab角度和弧度的互换_MATLAB弧度与角度转换 -
  13. [PTA练习] 愿天下有情人都是失散多年的兄妹(25分)
  14. 安装红蜘蛛软件6.2教师机管理端后,无法显示学生机的解决方法
  15. 【2016】心有猛虎,细嗅蔷薇In me the tiger sniffs the rose
  16. Android快捷开关实现
  17. 踱步狼注释移除状态机算法2019.10
  18. java用一张一元票换一分_一张一分纸币更换两张一元纸币,知道收藏价值后,你也会更换!...
  19. 计算机毕业设计php的婚纱影楼管理系统
  20. Zephyr_FileSystems

热门文章

  1. json 数据类型简介
  2. GetLastError编号解释
  3. MBR区、DBR区、FAT区、DIR区和DATA区的区别
  4. Linux C编程--进程介绍3--进程终止和等待
  5. spring gateway 限流持久化_Spring Cloud Gateway 扩展支持动态限流
  6. 对接钉钉审批_简信CRM分享:钉钉CRM应用
  7. 弹性理论法研究桩基受力计算公式_收藏!桩基检测的7种方法
  8. Java 条件解析,Java Lambda使用条件检查解析集合
  9. URL存在http host头攻击漏洞-修复方案
  10. linux动态二进制翻译,仿真:解释和二进制翻译