2011-02-11 167 views
1

我將圖像從Mac桌面應用程序傳輸到iPad應用程序,但沿途我失去了所有圖像的EXIF數據。圖像元數據丟失

的設置如下:

在Mac: 1 - 從圖像 2搶的NSData - 調整圖像 3 - 通過無線網絡

發送圖像到iPad應用程序在iPad: 4 - 將NSData寫入文件 5 - 從文件讀取圖像

一旦NSData進入iPa d,EXIF數據似乎丟失了。如果我手動打開圖像,則不會找到EXIF數據。

你知道爲什麼EXIF數據會丟失嗎?調整大小操作不會影響EXIF數據(我已經檢查過),但是一旦NSData到達iPad,我就沒有任何EXIF數據(甚至在我將數據寫入磁盤之前)。我認爲我從Mac發送到iPad的數據是相同的。

我使用ImageIO框架訪問兩個平臺上的數據。 iPad/iPhone上的ImageIO有可能以不同的方式做出不同的事情並剝離或不支持EXIF數據?

歡迎任何指針。

回答

1

我使用ImageIO框架訪問兩個平臺上的數據。 iPad/iPhone上的ImageIO有可能以不同的方式做出不同的事情並剝離或不支持EXIF數據?

是的,這是可能的,但不太可能。

更可能是你是不支持EXIF數據。

CGImage對象只是一個圖像;如果您只從文件中提取CGImage,那麼您只能獲取圖像,而不是EXIF或其他屬性(例如分辨率,色彩空間)數據。您需要get,transfer和apply屬性字典以及圖像。

在我看來,在Mac上完成所有操作並簡單地將最終圖像發送到iPad會更容易。在向下調整大小的情況下,這甚至會使速度更快,因爲您將傳輸更少的數據(較小的圖像)。

+0

感謝您的回覆,彼得。正如我在開篇文章中所寫的那樣,調整大小是在Mac上完成的,包括元數據在內的調整大小的圖像被髮送到iPad(作爲NSData實例),但元數據在該行程中的某個位置被丟棄,這就是令人驚訝的我(因此我的問題在這裏)。我會進一步挖掘,試圖找到原因和解決方案。 – 2011-02-14 11:54:38