在 Haskell Gloss 库中,我们使用 Picture 类型的 Text 构造函数来绘制文本。但是,如何找到这样一张图片的宽度(和高度)呢?
以下是 Gloss 中文本的渲染方式:
Text str
-> do
GL.blend $= GL.Disabled
GL.preservingMatrix $ GLUT.renderString GLUT.Roman str
GL.blend $= GL.Enabled
Run Code Online (Sandbox Code Playgroud)
这里重要的一点是它调用renderString. 查看 的文档renderString,我们立即看到另外两个有用的函数:stringWidth和fontHeight。因此,您可以像这样获取宽度和高度:
import Graphics.UI.GLUT.Fonts
do
width <- stringWidth Roman str
height <- fontHeight Roman
Run Code Online (Sandbox Code Playgroud)