이미지 업로드시 imageOrientation() 로테이션 적용 함수 개선 건의합니다.
안녕하세요. 항상 KBoard 고마운 마음으로 잘 사용하고 있습니다.^^
사진 업로드와 관련해서 건의드릴 것이 있습니다.
KBoard에서 이미지 파일을 업로드 하면 KBFileHandler.class.php 의 imageOrientation() 에서
exif Orientation 정보를 체크 하여 로테이션 후 저장 save($image) 되도록 되어 있는데
실제 사진 파일들을 업로드 해 보면 이미지에 Orientation 태그가 있는 파일들은 Orientation 형태와 상관 없이 모두 업로드 되는 과정에서
jpg 파일 특성인 재저장으로 인한 사진파일 품질의 변형(파일 크기 변경)이 생깁니다.
제 사이트의 경우에는 dpi 변경 및 exif 정보 소실까지 생깁니다.
여기 데모게시판에서도 테스트를 해보니 여기서는 무엇때문인지 dpi 및 exif 정보는 유지가 되었는데,
하지만 파일자체는 WP Image Editor의 기본 퀄리티 값 때문인지 크기가 많이 축소되어 저장됩니다.
사진 파일 원본을 유지하기 위해 사진 등록시 KBoard의 업로드를 사용하지 않고 워드프레스의 미디어 추가를 이용할 경우
원본이 유지되기는 하지만 비로그인 게스트 사용자가 등록할때는 이용에 제한이 있어
지금은 일단 imageOrientation() 이 동작하지 않도록 해 두고 사용하고 있습니다.
사진 원본 품질이 변경되거나 exif 정보가 소실되면
원본 사진이나 exif 정보를 다루는 분들에게는 상당히 난감한고 불편한 부분이 될 수가 있어서
해당 함수의 동작 방식을 수정하거나 동작 여부를 선택할 수 있는 옵션을 주는 것이 좋을 것 같습니다.
그리고 exif까지 삭제되는 제경우에는
따로 스크립트를 넣어 두신건지 저 함수를 적용하지 않고 업로드 했을때는 exif정보가 살아 있어서
KBoard 게시판에서 bottom right / right top 사진이 올바르게 회전되어 보여집니다.
물론 해당 사진을 다운받으면 원본 그대로 뒤집히거나 돌아가 있습니다.
하지만 저 함수를 적용하면 오히려 사진의 로테이션이 보정 되지 않은체 그냥 뒤집히거나 옆으로 돌아간 상태 그대로 보이고
다운받으면 화면에 보이는데로 보정없이 돌아간 상태 그대로 저장되어 있고 exif 까지 날아가 있습니다.
그래서 다음 버전 패치때 해당 함수 적용을 하지 않고 사진 변형없이 원본을 다룰 수 있는 옵션을 주셨으면 좋겠습니다.
그냥 사진 앨범으로 사용하는 경우에는 큰 상관은 없지만 사진파일 자체를 전문적으로 다루시는 분들에게는 꼭 필요한 기능일듯 합니다.
늘 필요한 정보 눈으로만 얻어 가다가 처음으로 글 남깁니다.
좋은 프로그램과 활발한 커뮤니티를 통한 지원 감사합니다.^^
dnd
(4 Point)ㆍ2018.01.10 08:57ㆍ조회 2794ㆍ
RSS