使用子像素别名在图像中缓存NSView

时间:2011-09-04 21:42:56

标签: cocoa nsview

我想定期缓存PDFViewNSImage的可见边界。我稍后会将图像绘制到屏幕上,所以我希望它看起来与原始PDFView完全相同。但是,在图像上下文中绘制PDFView的文本时,我无法让Cocoa使用子像素消除锯齿。它确实使用普通(即非LCD)抗锯齿,但这会产生明显更轻的文本。

有没有可移植的方法来解决这个问题?也就是说,当监视器支持子像素消除锯齿时,有没有办法在NSView中缓存NSImage

我的代码:

PDFView *pdfView = ...
NSBitmapImageRep *rep = [pdfView bitmapImageRepForCachingDisplayInRect:[pdfView bounds]];

[pdfView cacheDisplayInRect:[pdfView bounds] toBitmapImageRep:rep];

NSImage *image = [[NSImage alloc] initWithSize:[rep size]];
[image addRepresentation:rep];

0 个答案:

没有答案