1. 程式人生 > >java 獲取圖片資訊(經緯度,畫素等)

java 獲取圖片資訊(經緯度,畫素等)

<!-- https://mvnrepository.com/artifact/com.drewnoakes/metadata-extractor -->
<dependency>
    <groupId>com.drewnoakes</groupId>
    <artifactId>metadata-extractor</artifactId>
    <version>2.6.2</version>
</dependency>

程式碼實現:

import com.drew.imaging.jpeg.JpegMetadataReader;
import
com.drew.metadata.Directory; import com.drew.metadata.Metadata; import com.drew.metadata.Tag; import java.io.File; /** * 測試用於讀取圖片的EXIF資訊 * * @author Winter Lau */ public class ExifTester { public static void main(String[] args) throws Exception { File jpegFile = new File("/Users/a123/Desktop/1.pic_hd.jpg"
); Metadata metadata = JpegMetadataReader.readMetadata(jpegFile); for(Directory directory : metadata.getDirectories()){ for(Tag tag : directory.getTags()){ System.out.print("name : " + tag.getTagName() + " -->"); System.out.println("desc : "
+ tag.getDescription()); } } } }

輸出結果:name是屬性名, desc是屬性值

name : Compression Type  -->desc : Baseline
name : Data Precision  -->desc : 8 bits
name : Image Height  -->desc : 3024 pixels
name : Image Width  -->desc : 4032 pixels
name : Number of Components  -->desc : 3
name : Component 1  -->desc : Y component: Quantization table 0, Sampling factors 2 horiz/2 vert
name : Component 2  -->desc : Cb component: Quantization table 1, Sampling factors 1 horiz/1 vert
name : Component 3  -->desc : Cr component: Quantization table 1, Sampling factors 1 horiz/1 vert
name : Exposure Time  -->desc : 1/33 sec
name : F-Number  -->desc : F2.2
name : Exposure Program  -->desc : Program normal
name : ISO Speed Ratings  -->desc : 50
name : Exif Version  -->desc : 2.21
name : Date/Time Original  -->desc : 2017:01:17 10:55:36
name : Date/Time Digitized  -->desc : 2017:01:17 10:55:36
name : Components Configuration  -->desc : YCbCr
name : Shutter Speed Value  -->desc : 1/33 sec
name : Aperture Value  -->desc : F2.2
name : Brightness Value  -->desc : 5560/1719
name : Exposure Bias Value  -->desc : 0 EV
name : Metering Mode  -->desc : Spot
name : Flash  -->desc : Flash did not fire, auto
name : Focal Length  -->desc : 4.15 mm
name : Subject Location  -->desc : 3214 1248 753 756
name : Sub-Sec Time Original  -->desc : 155
name : Sub-Sec Time Digitized  -->desc : 155
name : FlashPix Version  -->desc : 1.00
name : Color Space  -->desc : sRGB
name : Exif Image Width  -->desc : 4032 pixels
name : Exif Image Height  -->desc : 3024 pixels
name : Sensing Method  -->desc : One-chip color area sensor
name : Scene Type  -->desc : Directly photographed image
name : Custom Rendered  -->desc : Unknown (3)
name : Exposure Mode  -->desc : Auto exposure
name : White Balance Mode  -->desc : Auto white balance
name : Focal Length 35  -->desc : 29mm
name : Scene Capture Type  -->desc : Standard
name : Lens Specification  -->desc : 83/20 83/20 11/5 11/5
name : Lens Make  -->desc : Apple
name : Lens Model  -->desc : iPhone 6s back camera 4.15mm f/2.2
name : Make  -->desc : Apple
name : Model  -->desc : iPhone 6s
name : Orientation  -->desc : Right side, top (Rotate 90 CW)
name : X Resolution  -->desc : 72 dots per inch
name : Y Resolution  -->desc : 72 dots per inch
name : Resolution Unit  -->desc : Inch
name : Software  -->desc : 10.2
name : Date/Time  -->desc : 2017:01:17 10:55:36
name : YCbCr Positioning  -->desc : Center of pixel array
name : GPS Latitude Ref  -->desc : N
name : GPS Latitude  -->desc : 40.0° 3.0' 1.4099999999854163"
name : GPS Longitude Ref  -->desc : E
name : GPS Longitude  -->desc : 116.0° 17.0' 54.97999999999365"
name : GPS Altitude Ref  -->desc : Sea level
name : GPS Altitude  -->desc : 54 metres
name : GPS Time-Stamp  -->desc : 2:55:35 UTC
name : GPS Speed Ref  -->desc : kph
name : GPS Speed  -->desc : 0
name : GPS Img Direction Ref  -->desc : True direction
name : GPS Img Direction  -->desc : 17.33 degrees
name : GPS Dest Bearing Ref  -->desc : True direction
name : GPS Dest Bearing  -->desc : 17.33 degrees
name : GPS Date Stamp  -->desc : 2017:01:17
name : Unknown tag (0x001f)  -->desc : 65
name : Thumbnail Compression  -->desc : JPEG (old-style)
name : X Resolution  -->desc : 72 dots per inch
name : Y Resolution  -->desc : 72 dots per inch
name : Resolution Unit  -->desc : Inch
name : Thumbnail Offset  -->desc : 2076 bytes
name : Thumbnail Length  -->desc : 8604 bytes

Process finished with exit code 0

相關推薦

java 獲取圖片資訊經緯度

<!-- https://mvnrepository.com/artifact/com.drewnoakes/metadata-extractor --> <dependency> <groupId>com.d

Android 獲取位置資訊經緯度附程式碼

        獲取位置資訊主要通過GPS和網路位置兩種方法,優先順序還是GPS,有點就不多說了,下面說一下我做的方法及附程式碼,有疑問可在下方留言。        思路便是GPS優先,但在GPS訊號弱的情況下采取拿

java使用siger 獲取伺服器硬體資訊CPU 記憶體 網路 io

import java.net.InetAddress;import java.net.UnknownHostException;import java.util.Map;import java.util.Properties;import org.hyperic.sigar.CpuInfo;import o

java 獲取圖片資訊

獲取圖片資訊:File _file = new File("example.jpg"); //讀入檔案 BufferedImage src = javax.imageio.ImageIO.read(_file); //構造Image物件 int width = src.get

職業生涯:我在阿里的一次JAVA面試經歷總結跳槽深薪必備

    為記錄阿里的電面經歷,特與大家分享,崗位是JAVA研發工程師。 一面主要問題如下: 1)首先自我介紹 2)資料結構演算法的基本問題,如排序演算法,二叉樹遍歷,後序遍歷非遞迴,圖的最短路徑問題 3)對一個數組進行絕對值排序的演算法 4)ja

獲取圖片的寬和高()

* 方法一 cImg = Getpict() && 獲取 bmp, jpg, gif xImgObj = LoadPicture(cImg) With xImgObj lnWidth = Int(.Width/26.458) lnHei

小程式獲取地理位置經緯度以及選擇附近位置

html部分 <view> <button bindtap="getLocal" wx:if="{{isLocal}}" bindtap="getLocal">獲取位置</button> <button open

Android獲取手機能獲取資訊暫時我能想到的

總結了網上的一些工具類,希望對大家有所幫助,大家可以在評論下方補全更多的獲取方法,更多的幫助大家,謝謝。 package com.mydemo.utils; import android.Manifest; import android.app.ActivityManage

QT QPainter用法包含矩形

       QPainter可以繪製從簡單的直線到像餅圖和絃這樣的複雜形狀。它也可以繪製排列的文字和畫素對映。通常,它在一個“自然的”座標系統中繪製,但是它也可以在視和世界轉換中做到這些。繪圖工具的典型用法是:構造一個繪圖工具。設定畫筆、畫刷等等。繪製。銷燬這個繪圖工具。下

初探Java設計模式3:行為型模式策略觀察者

轉自https://javadoop.com/post/design-pattern行為型模式行為型模式行為型模式關注的是各個類之間的相互作用,將職責劃分清楚,使得我們的程式碼更加地清晰。策略模式策略模式太常用了,所以把它放到最前面進行介紹。它比較簡單,我就不廢話,直接用程式

【整理】Virtualbox中的網路型別NAT橋接網絡卡IP地址方面的設定

虛擬機器,不論是Virtualbox還是VMware等,關於網路設定方面,一般都支援NAT,橋接網絡卡等配置。 下面就有Virtualbox中的網路連線方式,來解釋解釋其具體含義。 此處,主要內容,還是來自翻譯自VirtualBox官網關於網路的解釋: 目的不在於翻譯的多

jmeter設定引數的方法隨機讀csv

本文為整理jmeter設定引數的方法 設定引數值的方法有如下幾種: 1. 用Jmeter中的函式獲取引數值,__Random,__threadNum,__CSVRead,__StringFrom

算術運算子和算術表示式優先順序結合性

%  得到餘數  7 % 2 得到1 運算子的優先順序 C語言中,運算子的運算優先順序共分為15級。1級最高, 15級最低。在表示式中, 優先順序較高 的先於優先順序較低的進行暈死。而在一個運算量兩側的運算子優先順序相同時, 則按運算子的 結合性所規定的結合方向處理。 運算子的結合性 c語言中

idephpstromandroid studio工具同步git設定

一、file選單下settings二、Version Control -->Git 裡面git的目錄地址更新,點選test正常顯示內容三、Tools-->Terminal選項卡中Shell path中填寫64位:"C:\Program Files\Git\bin\

java 獲取圖片的exif資訊

網上很多這類方法都沒法用,自己探索了一下。 maven工程匯入jar包 <dependency> <groupId>com.drewnoakes</groupId> <artifac

怎樣通過GitHub API獲取某個專案被Star的詳細資訊時間使用者ID

這個需求也比較明確,目前GitHub的頁面上並不提供對某個專案Star隨時間變化的資料,但實際上可以通過GitHub API獲取,在之前的一篇日誌中,我簡單介紹了通過curl使用GitHub API的方法,不過正如這裡介紹的:Most applications will us

使用QFileInfo類獲取檔案資訊(在NTFS檔案系統上出於效能考慮檔案的所有權和許可權檢查在預設情況下是被禁用的通過qt_ntfs_permission_lookup開啟和操作。absolutePath()必須查詢檔案系統。而path()函式可以直接作用於檔名本身所以path() 函

版權宣告:本文為博主原創文章,未經博主允許不得轉載。 https://blog.csdn.net/Amnes1a/article/details/65444966QFileInfo類為我們提供了系統無關的檔案資訊,包括檔案的名字和在檔案系統中位置,檔案的訪問許可權,是否是目錄或符合連結,等等。並且,通過這個類

【小程式】java 後臺獲取使用者資訊解密encryptedData

首先java 後端依賴兩個jar <dependency> <groupId>org.codehaus.xfire</groupId> <artifactId>xfire-core</artifac

android上獲取imsi碼判斷運營商資訊移動聯通電信

專案中要用到這個知識點,於是有整理這個知識點,並寫成博文,以作備忘。 一.imsi碼概念的理解 1.概念 IMSI:國際移動使用者識別碼(唯一標識),IMSI = MCC + MNC + MSIN,其中MCC是指移動臺國家程式碼(3 位,中國460),MNC是指移動網程式碼

java獲取圖片資訊

1:獲取本地圖片大小File picture=new File(strSrc);BufferedImage sourceImg=ImageIO.read(new FileInputStream(picture));2:獲取網路圖片大小BufferedImage sourceI