我試圖使用修改JPEG元數據,而不在iOS的
CGImageSourceCreateWithData CGImageDestinationCreateWithData
然後
CGImageDestinationAddImageFromSource
但這種放棄在原文件中的任何縮略圖或其他嵌入式信息。我想要做的就是在文件中讀取,修改其元數據,然後只用改動將其寫出來。但我會解決所有問題,然後再放回去。現在一個1.2MB的圖像文件會被轉換爲437kB的文件,並丟失額外的數據。
有沒有其他的東西可以使用CGImage?這甚至可以通過iOS API完成嗎?
我不確定我明白你在說什麼user3344003。我現在正在做的是讀取一個jpeg文件作爲NSData,從中創建一個imageSource,然後讀取imageProperties,進行修改,並將修改後的imagePropoerties全部寫回。當我從外部查看文件並查看其元數據和圖像時,該過程看起來很成功,但文件大小大大減小。它也不再有嵌入的縮略圖。 –
您將需要複製元數據。該過程取決於用於存儲元數據的文件格式。 – user3344003
圖像屬性是元數據,不是嗎?除了屬性中返回的EXIF,JFIF,TIFF,IPTC和GPS元數據外,還有其他元數據嗎?你能解釋一下我應該在尋找什麼,以及我該怎麼處理它?用於存儲圖像的文件格式與我讀取的文件的圖像格式相同。在這種情況下JPEG。除UTI之外還有什麼其他選項需要指定格式? –