我需要创建一个包含一行文本的图片。但是问题在于,我首先需要使用CGBitmapContextCreate创建上下文,并需要提供图像的宽度和高度才能后续计算文本区域的边界(通过CTLineGetImageBounds)。但是我想让图片的大小等于文本的边界:( 应该怎么做?
实际上我使用了:
也许可以在没有上下文的情况下调用 CTLineGetImageBounds 函数吗?
注意:我使用的是 Delphi,这并不是真正的问题,因为我可以访问所有 API,我只需要函数名称。
实际上我使用了:
CGBitmapContextCreate
CTLineGetImageBounds
CTLineDraw
也许可以在没有上下文的情况下调用 CTLineGetImageBounds 函数吗?
注意:我使用的是 Delphi,这并不是真正的问题,因为我可以访问所有 API,我只需要函数名称。
[NSString boundingRectWithSize:options:attributes:]
(ObjC语法)或NSString.boundingRectWithSize(_:options:attributes:)
(Swift语法)。如果Delphi能够访问所有Cocoa内容,那么它应该能够访问它。您在问题描述中提到的函数是低级C API的一部分,大多数Cocoa开发人员从不使用它们。它们对于这个目的是很好的,但是如果您有困难阅读ObjC方法名称,那么构建任何非常规系统都会带来很多麻烦。许多功能没有C API。 - Rob Napier