2009-08-19 45 views
2

我正在研究图像查看器应用程序(OSX),目前它可以加载和查看图像,但我需要能够查看多页PDF和TIFF。我将有下一页/上一页按钮等。在NSImage中处理多页图像

现在,使用PDF,我希望使用NSPDFImageRep。这将让我设置当前页面并绘制当前页面等

不过,我没有看到一个NSTIFFImageRep和NSImageRep类似乎并不具备处理页面的任何方式...

ETA(关于我的问题的更多细节):我如何使用多页TIFF?在C中,我使用了一个CGImageSource让我获得第n个页面。我在目标C中看不到TIFF的等效物。

谢谢。

+0

您的实际问题是什么? – peterb 2009-08-19 21:11:28

回答

1

我认为你最容易做的事情就是让混合的PDF和TIFF查看器使每个非PDF页面成为唯一的NSImageRep。

+0

但是,如何从TIFF文件中获取各个页面? 如果我可以在多页TIFF中获得第n页,那么我可以做其余的... – 2009-08-19 21:39:00

+0

AH!现在我明白了。每个页面都是一个单独的表示。这似乎是一个不幸的概念使用,但似乎工作得不错。 – 2009-08-20 18:24:56

1

我并不积极,但是如果您使用多页TIFF数据初始化NSImage,IIRC将会每页获得一个图像代表。 (可能是什么peterb暗指。)

编辑:检查出+[NSBitmapImageRep imageRepsWithData:]

(通过Apple Lists

+0

我会研究... withdata方法。但是,如果我只是在TIFF文件上执行initWithFile,我只是得到第一页的NSImage ... – 2009-08-19 22:11:46

+0

尝试对 - [NSImage表示形式]返回的数组进行迭代。如果你要求它直接绘制,NSImage将只绘制它的一个表示形式! – Wevah 2009-08-19 22:31:27