Macos 如何将-NSAttributedString转换为CGImageRef

Macos 如何将-NSAttributedString转换为CGImageRef,macos,core-graphics,cgimage,nsattributedstring,Macos,Core Graphics,Cgimage,Nsattributedstring,我正在写一个QuickLook插件。嗯,一切正常。只是想试着做得更好;)。 这就是问题所在。 这是一个返回缩略图的函数,我现在正在使用它 qltumbnailrequestsetimagewithdata( QLThumbnailRequestRef缩略图, CFDataRef数据, cfyref属性); ); 现在我正在创建一个TIFF->将其封装到NSData中。一个例子 //设置CFDataRef CGSize thumbnailMaxSize=QLHumbnailRequestGet

我正在写一个QuickLook插件。嗯,一切正常。只是想试着做得更好;)。 这就是问题所在。
这是一个返回缩略图的函数,我现在正在使用它

qltumbnailrequestsetimagewithdata(
QLThumbnailRequestRef缩略图,
CFDataRef数据,
cfyref属性);
);

现在我正在创建一个TIFF->将其封装到NSData中。一个例子

//设置CFDataRef
CGSize thumbnailMaxSize=QLHumbnailRequestGetMaximumSize(缩略图);
NSMutableAttributeString*AttributeString=[[[NSMutableAttributeString alloc]
initWithString:@“虚拟”
属性:[NSDictionary Dictionary WithObjectsAndKeys:
[NSFont fontWithName:@“摩纳哥”大小:10],NSFontAttributeName,
[NSColor color with caliblated:0.0绿色:0.0蓝色:0.0 alpha:1.0],NSForegroundColorAttributeName,
无]
]自动释放];
NSImage*thumbnailImage=[[NSImage alloc]initWithSize:NSMakeSize(thumbnailMaxSize.width,thumbnailMaxSize.height)]自动释放];
[缩略图图像锁定焦点];
[[NSColor whiteColor]set];
NSRectFill(NSMakeRect(0,0,thumbnailMaxSize.width,thumbnailMaxSize.height));
[attributedString drawInRect:NSMakeRect(0,0,thumbnailMaxSize.width,thumbnailMaxSize.height)];
[thumbnailImage unlockFocus];
(CFDataRef)[缩略图图像表示];//这是数据
//设置cfyref
(CFDictionaryRef)[NSDictionaryWithObjectsAndKeys:@“kUTTypeTIFF”,(NSString*)kCGImageSourceTypeIdentifierHint,nil];//这是我们的财产
然而,QuickLook提供了另一个返回缩略图图像的函数,即

qltumbnailrequestsetimage(
QLThumbnailRequestRef缩略图,
CGImageRef图像,
cfyref属性);
);

我有一种感觉,将CGImage传递给QL而不是TIFF数据将有助于加快速度。 然而,我以前从未使用过CG上下文。我知道,文档就在那里:),但不管怎样,谁能举个例子,说明如何将NSAttribute字符串转换为CGImageRef。一个例子值得阅读文档10次;)
谢谢你的帮助。提前谢谢

有人能举一个例子,如何将NSAttribute字符串转换为CGImageRef吗

不能将字符串转换为图像;它们是两种完全不同的数据,一种是二维的(随时间变化的字符),另一种至少是三维的(x和y上的颜色)

您需要做的是绘制字符串并生成图形的图像。这就是您现在使用NSImage所做的:创建一个图像并将字符串绘制到其中

您正在询问有关创建CGImage的问题。创建、使用将字符串绘制到其中并创建位图上下文内容的图像是一种方法

然而,假设您可以需要SnowLeopard,您已经离另一个解决方案更近了。而不是要求NSImage提供TIFF表示