Вопрос

Я работаю с NSImage, который взят из PDF-файла.Когда я изначально создаю изображение, у него есть только один NSImageRep — NSPDFImageRep.Это хорошо.Я могу с этим работать.Я могу узнать, сколько в нем страниц, перейти на указанную страницу, нарисовать ее и т. д.

Проблема в том, что как только я поворачиваюсь спиной, он превращается в NSCachedImageRep, который, похоже, не содержит нескольких страниц.Теперь, если я сохраняю PDFImageRep в отдельной переменной, он отслеживается, но больше не связан с изображением, поэтому, когда я рисую изображение, оно все еще находится на той же странице.

Что мне не хватает?

Спасибо.

Это было полезно?

Решение

Вам нужно вызвать [image setDataRetained:YES] для изображения, чтобы исходные данные PDF сохранялись, иначе они будут кэшированы в растровое изображение.

Если у вас по-прежнему возникают проблемы, вы можете полностью отключить кеширование, используя [image setCacheMode:NSImageCacheNever].

Другие советы

Попробуйте на 10.6.Вероятно, проблема испарилась.

Пожалуйста, ознакомьтесь с Примечания к выпуску AppKit для получения подробной информации об изменениях NSImage.

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top