我正在尝试使用 Core Graphics API 渲染一些文本,但遇到了一些概念上的困难。
我正在尝试使用 CGContextSetFontSize 指定字体大小。大小参数采用“文本空间单位”的形式。那是什么?它如何映射到“em”单位?
谢谢
我正在尝试使用 CGContextSetFontSize 指定字体大小。大小参数采用称为“文本空间单位”的形式。那是什么?它如何映射到“em”单位?
首先回答你的第二个问题,1 em(遵循 CSS 定义)将等于你在那里指定的数量。
Core Graphics 的“文本空间”源自用户空间。还有一个额外的转换矩阵,即文本矩阵,它将用户空间转换为文本空间。请参阅
CGContextSetTextMatrix
、Quartz 2D 如何绘制文本和绘制文本。
默认情况下,文本矩阵是单位矩阵,因此文本空间=用户空间。