2

我正在尝试使用 Core Graphics API 渲染一些文本,但遇到了一些概念上的困难。

我正在尝试使用CGContextSetFontSize指定字体大小。size 参数位于所谓的“文本空间单位”中。那是什么?它如何映射到“ em ”单位?

谢谢

4

1 回答 1

2

我正在尝试使用 CGContextSetFontSize 指定字体大小。size 参数位于所谓的“文本空间单位”中。那是什么?它如何映射到“em”单位?

首先回答您的第二个问题,1 em(遵循CSS 定义)将等于您在此处指定的数量。

Core Graphics 的“文本空间”来源于用户空间。还有一个额外的转换矩阵,文本矩阵,它将用户空间转换为文本空间。CGContextSetTextMatrix请参阅Quartz 2D 如何绘制文本绘制文本

默认情况下,文本矩阵是单位矩阵,所以文本空间 = 用户空间。

于 2009-02-07T02:48:29.987 回答