项目需求, 需要从图片中获取到拍摄地点的经纬度,下边是java实现:
1. 需要jar包:https://mvnrepository.com/artifact/com.drewnoakes/metadata-extractor/2.6.2
2. maven
<!-- 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