Wie ein NSCachedImageRep vermeiden
-
20-09-2019 - |
Frage
Ich arbeite mit einem NSImage, die aus einem PDF kommt. Wenn ich das Bild zunächst schaffen, hat es nur eine NSImageRep und das ist NSPDFImageRep. Das ist gut. Ich kann damit arbeiten. Ich kann herausfinden, wie viele Seiten es hat, und gehen Sie zu einer bestimmten Seite, und ziehen Sie es, etc.
Das Problem ist, dass, sobald ich meinen Rücken drehen, es in ein NSCachedImageRep gedreht wird, die nicht über mehrere Seiten zu haben scheint. Nun, wenn ich die PDFImageRep in einer separaten Variable zu halten, wird es weiterverfolgen, aber es ist nicht mit dem Bild verknüpft mehr, also wenn ich das Bild zeichnen, es ist immer noch auf der gleichen Seite.
Was bin ich?
Dank.
Lösung
Sie müssen rufen [Bild setDataRetained: JA] auf dem Bild, so dass Sie Ihre Original-PDF-Daten um gehalten werden, sonst wird es in eine Bitmap zwischengespeichert wird
.Wenn Sie immer noch Probleme haben Sie deaktivieren könnten insgesamt das Caching mit [Bild setCacheMode: NSImageCacheNever].
Andere Tipps
Versuchen Sie es auf 10,6. Das Problem ist wahrscheinlich verdampft.
Bitte beachten Sie die AppKit Release Notes für Details die NSImage ändert.