zoukankan      html  css  js  c++  java
  • java获取照片相关属性

    package test;
    
    
    import java.io.File;
    import java.util.Iterator;
     
    import com.drew.imaging.jpeg.JpegMetadataReader;
    import com.drew.metadata.Directory;
    import com.drew.metadata.Metadata;
    import com.drew.metadata.Tag;
    import com.drew.metadata.exif.ExifDirectory;
     
    /**
     * 测试用于读取图片的EXIF信息
     */
    public class ExifTester {
         public static void main(String[] args) throws Exception {
             File jpegFile = new File("E:\图片\2.JPG");
             Metadata metadata = JpegMetadataReader.readMetadata(jpegFile);
             Directory exif = metadata.getDirectory(ExifDirectory.class);
             Iterator tags = exif.getTagIterator();
             while (tags.hasNext()) {
                 Tag tag = (Tag)tags.next();
                 System.out.println(tag);
             }
         }
    }
    

    需要jar包:metadata-extractor-2.3.0

    运行结果
    [Exif] Thumbnail Image Width - 2896 pixels
    [Exif] Thumbnail Image Height - 1944 pixels
    [Exif] Bits Per Sample - 8 8 8 bits/component/pixel
    [Exif] Make - NIKON CORPORATION
    [Exif] Model - NIKON D200
    [Exif] Orientation - Top, left side (Horizontal / normal)
    [Exif] Samples Per Pixel - 3 samples/pixel
    [Exif] X Resolution - 300 dots per inch
    [Exif] Y Resolution - 300 dots per inch
    [Exif] Resolution Unit - Inch
    [Exif] Software - Adobe Photoshop CC (Windows)
    [Exif] Date/Time - 2014:05:04 13:17:26
    [Exif] YCbCr Positioning - Datum point
    [Exif] Exposure Time - 1/640 sec
    [Exif] F-Number - F4.5
    [Exif] Exposure Program - Aperture priority
    [Exif] ISO Speed Ratings - 125
    [Exif] Exif Version - 2.21
    [Exif] Date/Time Original - 2014:05:02 15:00:40
    [Exif] Date/Time Digitized - 2014:05:02 15:00:40
    [Exif] Components Configuration - YCbCr
    [Exif] Compressed Bits Per Pixel - 4 bits/pixel
    [Exif] Shutter Speed Value - 1/639 sec
    [Exif] Aperture Value - F4.5
    [Exif] Exposure Bias Value - 2/3 EV
    [Exif] Max Aperture Value - F4.4
    [Exif] Metering Mode - Center weighted average
    [Exif] Light Source - Unknown
    [Exif] Flash - Flash did not fire
    [Exif] Focal Length - 70.0 mm
    [Exif] User Comment - XCB
    [Exif] Sub-Sec Time - 90
    [Exif] Sub-Sec Time Original - 90
    [Exif] Sub-Sec Time Digitized - 90
    [Exif] FlashPix Version - 1.00
    [Exif] Color Space - sRGB
    [Exif] Exif Image Width - 1944 pixels
    [Exif] Exif Image Height - 1944 pixels
    [Exif] Sensing Method - One-chip color area sensor
    [Exif] File Source - Digital Still Camera (DSC)
    [Exif] Scene Type - Directly photographed image
    [Exif] CFA Pattern - 0 2 0 2 1 0 2 1
    [Exif] Custom Rendered - Normal process
    [Exif] Exposure Mode - Auto exposure
    [Exif] White Balance - Auto white balance
    [Exif] Digital Zoom Ratio - 1
    [Exif] Focal Length 35 - 1mm
    [Exif] Scene Capture Type - Standard
    [Exif] Gain Control - None
    [Exif] Contrast - None
    [Exif] Saturation - High saturation
    [Exif] Sharpness - Hard
    [Exif] Subject Distance Range - Unknown
    获取需要的数据
    
    package test;
     
    import java.io.File;
    import java.util.Iterator;
      
    import com.drew.imaging.jpeg.JpegMetadataReader;
    import com.drew.metadata.Directory;
    import com.drew.metadata.Metadata;
    import com.drew.metadata.exif.ExifDirectory;
      
    /**
     * 测试用于读取图片的EXIF信息
     * @author Winter Lau
     */
    public class PicExif {
         public static void main(String[] args) throws Exception {
             File jpegFile = new File(
                              "E:\图片\2.JPG");
             Metadata metadata = JpegMetadataReader.readMetadata(jpegFile);
             Directory exif = metadata.getDirectory(ExifDirectory.class);
             Iterator tags = exif.getTagIterator();
    
            // while(tags.hasNext()){
            	// System.out.println(tags.next());
            //	 Iterator s = exif.getTagIterator();
            //	 while(s.hasNext()){
            //		 System.out.println(s.next());
            //	 }
            // }
            	 
             
             if(exif.containsTag(ExifDirectory.TAG_MODEL)){
                  System.out.println("相机型号:"+exif.getDescription(ExifDirectory.TAG_MODEL));     
             }
             if(exif.containsTag(ExifDirectory.TAG_EXPOSURE_TIME)){
            	 System.out.println("曝光时间:"+exif.getDescription(ExifDirectory.TAG_EXPOSURE_TIME));  
             }
             if(exif.containsTag(ExifDirectory.TAG_DATETIME_ORIGINAL)){
            	 System.out.println("拍摄时间:"+exif.getDescription(ExifDirectory.TAG_DATETIME_ORIGINAL));  
             }
             if(exif.containsTag(ExifDirectory.TAG_APERTURE)){
            	 System.out.println("光圈值:"+exif.getDescription(ExifDirectory.TAG_APERTURE));  
             }
             if(exif.containsTag(ExifDirectory.TAG_FOCAL_LENGTH)){
            	 System.out.println("焦距:"+exif.getDescription(ExifDirectory.TAG_FOCAL_LENGTH));  
             }
             if(exif.containsTag(ExifDirectory.TAG_THUMBNAIL_IMAGE_HEIGHT)){
            	 System.out.println("图片尺寸:"+exif.getDescription(ExifDirectory.TAG_THUMBNAIL_IMAGE_HEIGHT));  
             }
             
         }
    }
    
    运行结果:
    
    相机型号:NIKON D200
    曝光时间:1/640 sec
    拍摄时间:2014:05:02 15:00:40
    光圈值:F4.5
    焦距:70.0 mm
    图片尺寸:1944 pixels
    
  • 相关阅读:
    BIM软件小技巧:Revit2014所有快捷键汇总表格
    ubuntu下启动、关闭tomcat,查看tomcat运行日志
    Ubuntu14.04下安装tomcat
    ubuntu eclipse 不能新建javaweb项目解决方案
    在Ubuntu 14.04中安装最新版Eclipse
    Ubuntu14.04下jdk的安装
    Ubuntu14.04安装JDK与配置环境变量
    ubuntu14.04完全卸载mysql
    Ubuntu14.04下MySQL的安装
    ubuntu14.04切换root用户
  • 原文地址:https://www.cnblogs.com/a757956132/p/4206238.html
Copyright © 2011-2022 走看看