• 017_02获取图片信息


      Exif的全称是Exchangeable Image File(可交换图像文件),最初由日本电子工业发展协会制订,它是JPEG文件的一种,遵从JPEG标准,只是在文件头信息中增加了有关拍摄信息的内容和索引图。简单来说,EXIF 信息就是由数码相机在拍摄过程中采集一系列的拍摄参数,然后把信息放置在JPEG格式文件的头部,这其主要包括摄影时的光圈、快门、曝光补偿、闪光灯、ISO感光度、日期时间等各种信息,此外像相机品牌型号、色彩编码、后期使用过什么软件进行处理都被记录在Exif信息中。

    Android使用ExifInterface这个类来获取图片信息。

    源代码如下:

     1 package com.example.day17_02getExif;
     2 
     3 import java.io.IOException;
     4 
     5  import android.app.Activity;
     6 import android.media.ExifInterface;
     7 import android.os.Bundle;
     8 import android.os.Environment;
     9 import android.view.Menu;
    10 import android.view.MenuItem;
    11 import android.view.View;
    12 import android.widget.TextView;
    13 
    14 public class MainActivity extends Activity {
    15 
    16     @Override
    17     protected void onCreate(Bundle savedInstanceState) {
    18         super.onCreate(savedInstanceState);
    19         setContentView(R.layout.activity_main);
    20     }
    21 
    22     public void getpictureinfo(View v){
    23         ExifInterface exif =null;
    24         
    25         String path =Environment.getExternalStorageDirectory().getAbsolutePath()
    26                      +"/DCIM/100ANDRO/cameras/fun1.jpg";
    27          try {
    28               exif = new ExifInterface(path);
    29         } catch (IOException e) {
    30             // TODO Auto-generated catch block
    31             e.printStackTrace();
    32         }
    33                           
    34         String date  = exif.getAttribute(ExifInterface.TAG_DATETIME); 
    35         String width = exif.getAttribute(ExifInterface.TAG_IMAGE_WIDTH); 
    36         String height = exif.getAttribute(ExifInterface.TAG_IMAGE_LENGTH); 
    37         String make  = exif.getAttribute(ExifInterface.TAG_MAKE); 
    38         String model = exif.getAttribute(ExifInterface.TAG_MODEL); 
    39         String iso   = exif.getAttribute(ExifInterface.TAG_ISO);
    40 
    41         TextView tv_pictureinfo = (TextView) findViewById(R.id.tv_pictureinfo);
    42         tv_pictureinfo.setText(date+"
    "
    43                               +width+"
    " 
    44                               +height+"
    "                           
    45                               +make+"
    "
    46                               +model+"
    "
    47                               +iso+"
    ");
    48      }
    49 }
     1 <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
     2     xmlns:tools="http://schemas.android.com/tools"
     3     android:layout_width="match_parent"
     4     android:layout_height="match_parent"
     5     android:paddingBottom="@dimen/activity_vertical_margin"
     6     android:paddingLeft="@dimen/activity_horizontal_margin"
     7     android:paddingRight="@dimen/activity_horizontal_margin"
     8     android:paddingTop="@dimen/activity_vertical_margin"
     9     tools:context="com.example.day17_02getExif.MainActivity"
    10     android:orientation="vertical" >
    11 
    12   
    13     <Button
    14         android:layout_width="wrap_content"
    15         android:layout_height="wrap_content"
    16         android:text="获取图片信息" 
    17         android:onClick="getpictureinfo"/>
    18       <TextView
    19           android:id="@+id/tv_pictureinfo"
    20         android:layout_width="wrap_content"
    21         android:layout_height="wrap_content"
    22         android:text="图片信息" />
    23     
    24 </LinearLayout>

    物随心转,境由心造,一切烦恼皆由心生。
  • 相关阅读:
    HttpURLConnection中使用代理(Proxy)及其验证(Authentication)
    Java获取随机数的几种方法
    史上最全的java随机数/字符串生成算法(转)
    httpClient中的三种超时设置小结
    几个性能测试工具
    硬件知识
    北风风hadoop课程体系
    IT大数据服务管理高级课程(IT服务,大数据,云计算,智能城市)
    .net framework client profile
    Resharper中注释代码的快捷键
  • 原文地址:https://www.cnblogs.com/woodrow2015/p/4541162.html
Copyright © 2020-2023  润新知