我有一個NSImage
從NSImage *myImage = [[NSBitmapImageRep alloc] initWithFocusedViewRect:[outputView bounds]];
,我需要將它保存到文件中。我無法找到任何有關以任何格式保存NSImage
的信息。有沒有人做過這個?它甚至有可能嗎?將NSImage寫入文件
謝謝
我有一個NSImage
從NSImage *myImage = [[NSBitmapImageRep alloc] initWithFocusedViewRect:[outputView bounds]];
,我需要將它保存到文件中。我無法找到任何有關以任何格式保存NSImage
的信息。有沒有人做過這個?它甚至有可能嗎?將NSImage寫入文件
謝謝
如果您正在創建實際視圖的快照(與您關注的圖像相對),則創建位圖圖像代表的另一種方法是ask the view for PDF data of the desired rectangle。這將是矢量而不是柵格(除了視圖本身繪製圖像的地方),這將更好地擴展到更高的分辨率。然後,您會將這些數據寫入文件,就像您使用其他數據一樣。
你說你製作NSImage的方式沒有意義。您將展示如何創建NSBitmapImageRep,而不是NSImage。
在將其保存到文件之前,您將轉換爲NSData。有一個NSImage方法可以轉換爲TIFF數據,並且有一個NSBitmapImageRep方法可以轉換爲多種格式的數據。
有一個NSBitmapImageRep(就像JWWalker指出的那樣,代碼不會創建一個NSImage實例),你可以讓圖像代表自己的CGImage版本,然後創建一個CGImageDestination來將該圖像寫入文件。這可能比獲取數據對象(這會將光柵數據保存在內存中)更有效,並提供更多選項。
謝謝生病嘗試。 – nosedive25 2010-07-31 15:29:45