2010-07-31 65 views
0

我有一個NSImageNSImage *myImage = [[NSBitmapImageRep alloc] initWithFocusedViewRect:[outputView bounds]];,我需要將它保存到文件中。我無法找到任何有關以任何格式保存NSImage的信息。有沒有人做過這個?它甚至有可能嗎?將NSImage寫入文件

謝謝

回答

1

如果您正在創建實際視圖的快照(與您關注的圖像相對),則創建位圖圖像代表的另一種方法是ask the view for PDF data of the desired rectangle。這將是矢量而不是柵格(除了視圖本身繪製圖像的地方),這將更好地擴展到更高的分辨率。然後,您會將這些數據寫入文件,就像您使用其他數據一樣。

+0

謝謝生病嘗試。 – nosedive25 2010-07-31 15:29:45

2

你說你製作NSImage的方式沒有意義。您將展示如何創建NSBitmapImageRep,而不是NSImage。

在將其保存到文件之前,您將轉換爲NSData。有一個NSImage方法可以轉換爲TIFF數據,並且有一個NSBitmapImageRep方法可以轉換爲多種格式的數據。

1

有一個NSBitmapImageRep(就像JWWalker指出的那樣,代碼不會創建一個NSImage實例),你可以讓圖像代表自己的CGImage版本,然後創建一個CGImageDestination來將該圖像寫入文件。這可能比獲取數據對象(這會將光柵數據保存在內存中)更有效,並提供更多選項。