ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • Exif 메타정보 뽑아내기
    개발 2009. 12. 23. 19:20
    디지털 카메라로 촬영된 이미지의 경우 Exif 메타 정보라하여 이미지에 별도로 촬영정보를 저장합니다.
    다음은 이 exif 정보를 뽑아내는 설명입니다.

    메타정보를 위해서는 metadata-extractor 오픈소스를 이용합니다.

    import com.drew.imaging.jpeg.JpegMetadataReader;
    import com.drew.metadata.Directory;
    import com.drew.metadata.Metadata;
    import com.drew.metadata.Tag;
    import com.sun.image.codec.jpeg.JPEGCodec;
    import com.sun.image.codec.jpeg.JPEGDecodeParam;
    import com.sun.image.codec.jpeg.JPEGImageDecoder;

    public static void main(String args[]){
            try{
                FileInputStream fis = new FileInputStream(new File("F5704.jpg"));
                JPEGImageDecoder decoder = JPEGCodec.createJPEGDecoder(fis);
                BufferedImage image = decoder.decodeAsBufferedImage();
                
                JPEGDecodeParam param = decoder.getJPEGDecodeParam();
                Metadata metadata = JpegMetadataReader.readMetadata(param);
                
                Iterator directories = metadata.getDirectoryIterator();
                StringBuilder sb = new StringBuilder();
                while(directories.hasNext()){
                    Directory directory = (Directory)directories.next();
                    Iterator tags = directory.getTagIterator();
                    while(tags.hasNext()){
                        Tag tag = (Tag)tags.next();
                        sb.append(tag.toString()+"\n");
                    }
                }
                fis.close();
            }catch(IOException e){
                e.printStackTrace();
            }

     }



    php의 경우 exif 라이브러리를 같이 컴파이 해줍니다.

    일반적으로는 컴파일이 되어 있지 않는 것 같기 때문에 조정을 해주어야 합니다.

    라이브러리가 설치되었다면


    < ?

    $exif = exif_read_data('DSCF5704.JPG', 'ANY_TAG', true);

    echo "< pre>";
    print_r($exif);
    echo "< /pre>";
    ?>

    와 같은 간단한 코드로 exif 정보를 확인할 수 있습니다.

    반응형

    '개발' 카테고리의 다른 글

    Json-lib 사용하기  (0) 2010.02.01
    mysql root 비밀번호를 잊어버렸을 때  (0) 2010.01.28
    insertAdjacentHTML()  (0) 2009.10.07
    ssl 을 이용한 에코 서버 클라이언트 예제  (0) 2009.10.01
    openssl 을 이용하여 인증서 받기  (0) 2009.10.01

    댓글

Designed by Tistory.