Mac OS X 上的 GetTextExtentPoint32 等效项
我正在开发一个跨平台库,需要使用字体将文本绘制到设备上下文中。事实证明,文本的宽度与用户选择的字体相结合很难计算。
在 Windows 中,我们使用 BOOL GetTextExtentPoint32(HDC hdc, LPCTSTR lpString, int cbString, LPSIZE lpSize) 这可以正常工作。在 Mac OS X 上,我们使用 StringWidth(ConstStr255Param s),但是从 OS X 10.4 开始,它已被弃用。所以我的问题是,如何在 OS X 10.4 及更高版本上成功计算字符串的宽度。
I am working on a cross platform library that needs to draw text using fonts into a device context. The width of the text combined with the user selected font is proving difficult to calculate.
In Windows we use BOOL GetTextExtentPoint32(HDC hdc, LPCTSTR lpString, int cbString, LPSIZE lpSize) this works without problem. On Mac OS X we used StringWidth(ConstStr255Param s), however since OS X 10.4 this has been deprecated. So my question is, how would one go about successfully calculating the width of a string on OS X 10.4 and higher.
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
对于 Cocoa,利用计算字符串高度的技术如果您对容器宽度而不是高度使用任意大的值, 应该可以帮助您进行操作。
For Cocoa, utilizing the technique for calculating string height should get you going if you use an arbitrary large value for the containers width instead of height.