2009-08-26 4 views
2

Je travaille avec un NSImage qui provient d'un PDF. Lorsque je crée initialement l'image, elle n'a qu'un seul NSImageRep et c'est NSPDFImageRep. C'est bon. Je peux travailler avec ça. Je peux trouver combien de pages il a, et aller à une page spécifiée, et dessiner, etc.Comment éviter un NSCachedImageRep

Le problème est que dès que je tourne mon dos, il est transformé en NSCachedImageRep, qui ne le fait pas semblent avoir plusieurs pages. Maintenant, si je garde le PDFImageRep dans une variable séparée, il est suivi, mais il n'est plus associé à l'image, donc quand je dessine l'image, c'est toujours sur la même page.

Qu'est-ce qui me manque?

merci.

Répondre

2

Vous devez appeler [image setDataRetained: YES] sur l'image, afin que vos données PDF d'origine soient conservées, sinon elles seront mises en cache dans un bitmap.

Si vous rencontrez toujours des problèmes, vous pouvez désactiver complètement la mise en cache en utilisant [image setCacheMode: NSImageCacheNever].

0

Essayez-le le 10.6. Le problème s'est probablement évaporé.

Veuillez voir le AppKit release notes pour plus de détails sur les changements NSImage.

+1

Ce sont super, sauf que j'ai beaucoup d'utilisateurs (et un collègue!) Qui utilisent encore 10.3 !!! –

Questions connexes