2009-08-26 80 views
2

我正在使用来自PDF的NSImage。当我最初创建图像时,它只有一个NSImageRep,即NSPDFImageRep。这很好。我可以使用它。我可以找出它有多少页,然后去指定的页面,然后绘制它等等。如何避免NSCachedImageRep

问题是,只要我转过身,它就变成了一个NSCachedImageRep,它没有似乎有多个页面。现在,如果我将PDFImageRep保存在一个单独的变量中,它会跟踪,但它不再与图像相关联,所以当我绘制图像时,它仍然在同一页面上。

我错过了什么?

谢谢。

回答

2

您需要在图像上调用[image setDataRetained:YES],这样您的原始PDF数据才会保留,否则它将被缓存到位图。

如果您仍然遇到问题,可以使用[image setCacheMode:NSImageCacheNever]完全关闭缓存。

0

试试10.6。问题可能已经消失。

有关NSImage更改的详细信息,请参阅AppKit release notes

+1

这些都很好,除了我有很多用户(和同事!)谁仍在使用10.3! – 2009-08-28 21:24:52