獲取圖片的exif信息

因爲以前業務須要,須要對圖片進行壓縮,然而圖片壓縮以後,在客戶端顯示,圖片的朝向錯誤了,好比原圖片是這樣的java

image.png

可是圖片壓縮以後變成了這樣:ide

1535686-154031f55ab2d4b7.jpg

那是不能忍啊,最終發現是由於圖片壓縮以後,把圖片的exif信息給丟失了。
根據維基百科解釋,可交換圖像文件格式常被簡稱爲**Exif
Exchangeable image f**ile format),是專門爲數碼相機的照片設定的,能夠記錄數碼照片的屬性信息和拍攝數據。spa

以後查詢資料,https://drewnoakes.com/code/e... 這裏提供了能夠查詢exif信息的解決方案。code

Metadata metadata = JpegMetadataReader.readMetadata(photo);
Directory directory = metadata .getFirstDirectoryOfType(ExifIFD0Directory.class);
for (Tag tag : directory.getTags()) {
        System.out.format("[%s] - %s = %s",
            directory.getName(), tag.getTagName(), tag.getDescription());
    }

經過這樣能夠獲取到圖片的朝向信息,好比 [Exif IFD0] - Orientation = Top, left side (Horizontal / normal)。orm

可是這個jar包並無提供寫入的方法,只能獲取到圖片的exif信息,卻沒有從新寫入的方法,依然沒有解決個人煩惱。
我但願在壓縮以前獲取exif信息,在壓縮以後從新寫入,若是有人知曉,但願可以多多指教。圖片

相關文章
相關標籤/搜索