【发布时间】:2010-10-13 14:57:10
【问题描述】:
如何使用 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 那样截断字符串的函数...??如果不是,我如何绘制截断为矩形的字符串。
谢谢, 阿比奈。
【问题讨论】:
标签: core-graphics macos-carbon quickdraw