2013-04-12 38 views
1

我正在開發一些圖像處理的iOS應用程序。 處理結果是灰度圖像。 當過程完成後,我想將原始的RGB圖像與結果一起保存到相機圖像文件中,因此我想到了使用alpha通道的原因。在iOS中保存包含元數據的RGBA圖像

此外,我想附加一些參數作爲圖像元數據處理。

所以這裏就是我的問題。 我無法找到允許將Alpha通道與元數據一起保存的iOS兼容圖像格式。 一方面,JPEG圖像接受元數據,而不是alpha通道。 另一方面,PNG圖像接受alpha通道,但不接受元數據。

任何想法?

在此先感謝。

回答

1

另一方面,PNG圖像接受alpha通道,但不接受元數據。

But yes metadata.

+0

感謝@ H2CO3的評論。 我曾嘗試保存PNG圖像的XMP元數據。儘管Apple [XMP-PNG元數據]有一些原語(http://developer.apple.com/library/mac/#documentation/GraphicsImaging/Reference/CGImageProperties_Reference/Reference/reference.html#//apple_ref/doc/uid/ TP40005103-CH202-SW1),我無法得到它。這裏有一些有趣的[鏈接](http://stackoverflow.com/questions/15212083/how-to-write-custom-metadata-to-png-images-in-ios?rq=1) – Jom

+0

其他選項是使用iOS的[imagemagick](http://www.imagemagick.org/script/binary-releases.php#iOS),但我發現保存元數據的唯一方法是使用命令行[png-imagmagick](http: //blog.client9.com/2007/08/editing-png-metadata-from-command-line.html),但適用於iOS使用[MagicCommandGenesis](http://www.imagemagick.org/discourse-server/viewtopic .php?f = 6&t = 20527),這順便把我變成了一個更復雜的問題。 – Jom

+0

所以我最終決定使用TIFF,這也允許alpha和EXIF。理論上,它應該有效,但沒有運氣。我附上我的一個嘗試。任何想法? NSMutableDictionary * tif = [[NSMutableDictionary alloc] init]; [tif setObject:@「Description」forKey:(NSString *)kCGImagePropertyTIFFImageDescription]; NSMutableDictionary * meta = [[NSMutableDictionary alloc] init]; [meta setObject:tif forKey:(NSString *)kCGImagePropertyTIFFDictionary]; ALAssetsLibrary * lib = [ALAssetsLibrary new]; [lib writeImageToSavedPhotosAlbum:img.CGImage metadata:meta completionBlock:nil];' – Jom