如何使用 ATSUI 绘制截断的文本?我有一个使用 QuickDraw API 的旧版应用程序。它使用 StringWidth 、 TruncString 和 DrawString 函数。我可以用 ATSUI 的 ATSUMeasureTextImage 和 ATSUDrawText 替换 StringWidth 和 DrawString。但是我找不到截断字符串以使其适合矩形的方法。
在选择 ATSUI 之前,我使用 Quartz 和 QuickDraw。Quartz 不提供任何函数来估计绘制文本的大小(以像素为单位)。
CGContextSelectFont(cgContext,
"Geneva", 12.0, kCGEncodingMacRoman);
CGContextSetTextMatrix(cgContext,
CGAffineTransformMake(1.0,0.0, 0.0,
-1.0, 0.0, 0.0));
CGContextShowTextAtPoint(cgContext,
inPoint.h, inPoint.v + 12.00, (const
char*)&(inString[1]), inString[0]);
ATSUI 中是否有任何函数可以像 TruncString 一样进行字符串截断...??如果不是,我如何绘制截断为矩形的字符串。
谢谢,阿比奈。