중요 태그

2020년 4월 1일 수요일

[JSP ]웹에서 핸드폰 카메라 사진 파일 업로드 시 회전 관해서

안녕하세요.

PHP 작업 할때도 있던 일인데 핸드폰 카메라로 사진을 찍고 올 릴때 메타 데이터에 회전 값이 들어 있는 경우가 있습니다. 그래서 파일을 그대로 올리면 HTML에서 이미지를 볼 때 회전이 안 된 상태로 나옵니다. 

보통은 EXIF 메타 태그로 존재하는 orientation에 따라 보여 줄때 회전을 줘야 하는데요. 이게 표준인지는 모르겠습니다 

물론 HTML에서 IMG 태그는 orientation을 전혀 고려하지 않습니다 그러니 올릴 때 회전해서 저장하는게 좋을 것 같습니다. 하지만 일단  JAVA의 기본 라이브러리에는 확실하지는 않지만 없는 듯합니다

그래서 아래 라이브러리를 사용하는 것이 정신 건강에 좋습니다. 이클립스어서 MAVEN을 아래와 같이 검색하면 첫번째 항목입니다. 아니면 구글에서 metadata-extractor로 검색해서 다운로드 받는 것도 좋습니다.


화면 캡쳐

소스

int orientation = 0;
try {
Metadata metadata = ImageMetadataReader.readMetadata(orgFile);
Directory directory = metadata.getFirstDirectoryOfType(ExifIFD0Directory.class);
orientation = directory.getInt(ExifIFD0Directory.TAG_ORIENTATION);
Debug.println("회전: " + orientation);
} catch (ImageProcessingException | IOException | MetadataException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
int rotate = 0; if(orientation == 6){ //정위치
rotate = 90;
} else if (orientation == 3){//오른쪽으로 눞였을때
rotate = 180;
} else if (orientation == 8){//180도
rotate = 270;
}

추신: 그런데 왜 핸드폰 카메라는 직접 회전을 하지 않고 메타 태그를 사용해서 회전 작업을 했을까요? 젠장...

댓글 없음: