先說結論
有時在,有時不在。轉換、改尺寸、壓縮,只要工具是把圖從畫素重新搭起來的,後設資料就沒了;工具要是特意把它搬過去,後設資料就在。螢幕上什麼也不會告訴你到底發生了哪一種。照片兩種情況看起來一模一樣,因為後設資料從來就不是照片的一部分。
兩種結局都讓人吃驚,方向相反。有人指望「改改尺寸」就能抹掉位置,位置活了下來。有人指望換個格式拍攝日期還在,日期已經沒了。兩個錯,一副藥:別再猜工具八成做了什麼,去看檔案裡到底有什麼。
什麼東西跟在旁邊,為什麼是分開的
照片檔案是一個盒子裝兩樣東西:編碼好的影像,和一塊講它來歷的標籤。標籤叫 EXIF,旁邊常有 XMP 和色彩配置檔案。裡面通常寫著:照片什麼時候拍的,相機和鏡頭是什麼,曝光引數,你站的地方的 GPS 座標,還常有一張嵌著的小縮圖。那張縮圖,有時候是編輯之前的樣子。裁剪能漏掉自己剛裁掉的東西,就是這麼來的。這塊標籤的完整導覽在 EXIF 那一頁。
定乾坤的一點:標籤在畫素旁邊,不在畫素裡面。解碼影像的工具,拿到的是畫素,沒有標籤;它寫出去的東西,只含它決定放回去的部分。不重編碼、直接改檔案的工具,可以對標籤秋毫無犯,也可以恰恰只摘掉標籤,別的不動。
為什麼重編碼剝,複製留
瀏覽器裡的影像工作多半走畫布:把檔案解碼成裸畫素,加工,編碼一個新檔案。畫布不帶標籤,新檔案自然沒有標籤。不是政策,是構造。所以這裡的圖片壓縮工具和圖片改尺寸工具,產出裡沒有 EXIF、沒有 GPS、沒有 XMP,頁面上也都寫明瞭:躲不開。想留拍攝日期的人,這一條值得知道。
轉換器則相反,可以費心去保。這個站的 HEIC 轉 JPG 工具乾的就是這個:把後設資料塊從 HEIC 的盒子裡整個端出來,安進 JPEG 裡,日期、GPS,一樣不落。因為轉換本該是同一張照片換件外套。(有一個標籤是特意改寫的:方向,免得圖躺倒;這塊後設資料也只裝得進 JPEG 輸出,格式選單上寫著。)兩個老實的工具,兩種相反的做法,各自對各自的工作都對。也正因為這樣,按工具類型去猜,猜不準。
出了瀏覽器,光景一樣混雜,底下是同一個道理。截圖和匯出是全新的編碼:沒有相機後設資料。聊天軟體狠狠地再壓一遍,當照片發的照片,標籤多半丟了;同一個檔案「當檔案發」,就一個位元組不差地走,標籤也在。郵件附件和網盤原樣搬運。規律立得住:重新搭的,剝了;照抄的,留著。
用查代替猜
查一次用不了一分鐘:把產出的那個檔案,不是原件,放進 EXIF 檢視與清除工具,讀讀裡面有什麼。它在你自己的機器上解析檔案,每個標籤都亮出來,嵌著的縮圖也在內。裡面什麼都沒有,就什麼都沒漏。還在,你就看得一清二楚是什麼在。
上面這些歸結成三個習慣:
- 目的是隱私,就動手刪,別捎帶。用 EXIF 工具把標籤摘了。它不重編碼,照片一點不損。摘完再查一遍結果。別指望某次改尺寸順手替你剝了。
- 目的是留檔,就挑一個明說會保留的工具來轉,轉完同樣查。因為「八成留下了」朝另一個方向也會栽:日期蒸發的照片庫,同樣是損失。
- 查你真正要發出去的那個檔案,在整條流水線的最後一步之後。鏈條裡每個工具各拿各的主意,算數的只有最後那個檔案的內容。
要是用來查的工具本身也是個網頁,老問題照樣輪到它頭上:後設資料檢視器收到的是你的照片,GPS 一併在內。這裡這個整個跑在你的瀏覽器裡,什麼也不往外發。這句話怎麼驗證而不是怎麼相信,上傳那一頁寫了。