Get Meta Data of Image - Android

北城以北 提交于 2019-11-26 11:31:56

问题


http://www.isco.com/webproductimages/appBnr/bnr1.jpg

I\'ve used a website to see the metadata of a image. In this website, it shows all info of image. I want to know how to get the \"Title\" tag of above image in android.

I found here the similiar question for iOS only: How to get image metadata in ios

However I don\'t know how to get \"Meta data\" of image on android. ExifInterface only gives some informations. But I\'m unable to get \"Title\" tag with it.

Can you provide any code snippet for get meta data in android for image?


回答1:


Download metadata extractor from the link given here ...... click to download the library choose the version 2.5.0.RC-3.zip

Extract the jar Folder

and import jar into libs folder in your poject and then execute the below code

        try {
            InputStream is = new URL("your image url").openStream();
            BufferedInputStream bis = new BufferedInputStream(is);
            Metadata metadata = ImageMetadataReader.readMetadata(bis,true);


    for (Directory directory : metadata.getDirectories()) {
    for (Tag tag : directory.getTags()) {
        System.out.println(tag);
    }
 }

            }
        catch (ImageProcessingException e){}
        catch (IOException e) {}



回答2:


If you want to retrieve meta data information about an image ExifInterface is what you are looking for. Here is a quite good example of how this interface is used: http://android-er.blogspot.com/2009/12/read-exif-information-in-jpeg-file.html

But if you want to retrieve information of an online image I'm afraid it's not yet possible.




回答3:


If you want to retrieve metadata from image in Android project, then you can do that with the help of: https://github.com/drewnoakes/metadata-extractor

Implement this in your gradle using

implementation 'com.drewnoakes:metadata-extractor:2.12.0'

Complete code is as follows

private static String getImageMetaData(Uri image1) {
    try {
        InputStream inputStream = FILE_CONTEXT.getContentResolver().openInputStream(image1);
        try {
            image1.getEncodedUserInfo();
            Metadata metadata = ImageMetadataReader.readMetadata(inputStream);

            for (Directory directory1 : metadata.getDirectories()) {
                if (directory1.getName().equals("Exif IFD0")) {
                    for (Tag tag : directory1.getTags()) {
                        if (tag.getTagName().equals("Date/Time")) {
                            return tag.getDescription();
                        }
                    }
                }
            }
        } catch (ImageProcessingException e) {
            e.printStackTrace();
        } catch (IOException e) {
            e.printStackTrace();
        }
    } catch (FileNotFoundException e) {
        e.printStackTrace();
    }
    return null;
}


来源:https://stackoverflow.com/questions/12623302/get-meta-data-of-image-android

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!