用pygame绘制旋转的字体

时间:2011-02-15 17:57:31

标签: python fonts rotation render pygame

用pygame绘制带有字体的旋转文本的最佳方法是什么?我可以在rotozoom之后绘制字体,但是如果可以直接旋转字形,那么看起来效果会更好,特别是考虑到AA?

2 个答案:

答案 0 :(得分:0)

Pygame没有您正在寻找的功能。

您必须使用您提到的方法,即rotozoom对已渲染的字体。这种方法的质量实际上并不是那么糟糕。关于速度,你不想总是一直渲染字体。

如果您急需速度,并且文本不是动态的,您可以随时为要显示的每个文本创建32个方向的缓存。 Pyglet允许你旋转sprites为“free”,即硬件加速。

或者您可以查看pygame使用的原始SDL库,看看是否可以找到直接绘制旋转字体的内容并使用它来攻击pygame。

答案 1 :(得分:0)

你可以在pygame中使用pyOpenGL表面,如果这样可以简化它。 Pyglet也使用OpenGL。

(对于pygame曲面)您可以使用它来缓存渲染的文本以进行旋转。或者预先缓存所有32个方向。 [见其他答案]