이미지를 설정에 따라서 축소시켜 저장하고 워터마크를 새겨넣을 수 있는 모듈입니다.
기능적인 부분은 기존 애드온으로 배포한 "JPG 축소 및 워터마크 애드온"과 같습니다.
가장 큰 차이점은 각 기능을 게시판에 따라서 별도로 설정하실 수 있습니다. 또한 조작하지 않은 원본을 별도로 저장하고 권한에 따라서 다운로드가 가능합니다. 버전은 기존 애드온버전의 연장선상에서 0.8로 정했습니다.
수동으로 설치하실 분은 압축을 풀어서 ./modules/imageprocess 폴더에 화일을 복사합니다.
설치가 되면 제어판화면에서 업데이트를 실행합니다. 업데이트를 실행하지 않으면 설정을 마쳐도 작동하지않습니다.
제어판의 좌측메뉴항목에서 부가 기능 설정을 선택하면 이미지 프로세싱 항목이 생겨있을 겁니다.
이미지 프로세싱을 실행시켜보면 아래 그림처럼 이미지축소, 워터마크, 원본저장, 한글화일이름변경 등의 네가지 기능에 대한 설정이 있습니다.
이중 이미지 축소설정이 기본으로 뜹니다.
1. 이미지 축소 설정
이미지 축소사용을 선택하고 이미지 최대 사이즈를 입력하고 mid를 선택하시면 됩니다. 입력된 수치보다 가로나 세로중 어느 한쪽이라도 더 길면 긴축을 기준으로 축소합니다.
사진의 품질은 신중하게 결정하시기 바랍니다. 사진의 품질은 압축률과 관계가 있어서 품질이 높으면(100) 화질이 유지되지만 숫자가 낮으면 낮을수록 화질이 떨어집니다. 가장 무난한 수치가 80정도입니다만 가끔은 사진을 업로드하시는 분이 이미 충분히 화일용량을 줄여서 올리는 경우 사진 이미지가 현저하게 깨지는 현상이 생길수도 있습니다.
mid 선택을 하나도 체크하지 않은 경우 모든 영역에서 작동합니다.
2. 워터마크 설정
워터마크를 사용하시려면 사용을 선택하시고 워터마크 화일의 위치를 입력하시면 됩니다. 워터마크 화일이 존재 하지 않거나 png 화일이 아니면 저장시 에러메시지가 뜹니다. 사용을 선택하셨지만 워터마크 화일을 입력하지 않은 경우 자동으로 ./modules/imageprocess/stamp/stamp.png가 선택됩니다.
워터마크의 위치는 기존 애드온의 다섯곳에서 네곳을 추가해서 총 9곳이됩니다.
너무 작은 사진에 워터마크가 들어가면 보기가 흉해집니다. 따라서 워터마크를 새기지 않을 최소크기를 설정하실 수 있습니다. 가로나 세로중 어느 하나라도 입력된 수치보다 작은 사진은 워터마크를 새기지 않습니다.
mid 선택시 주의사항은 이미지 축소나 한글화일 변경의 경우 선택하지 않으면 모든 영역에서 작동하지만 워터마크나 원본저장기능은 체크가 없으면 작동하지 않습니다. 이점 유의하시기 바랍니다.
3 원본저장설정
원본저장설정은 이미지축소나 워터마크설정을 사용하는 경우에만 설정이 가능합니다. 조작되기 전의 원본사진을 보관하는 기능이기 때문에 조작하지 않는 경우에는 저장할 필요가 없고 설정도 나타나지 않습니다.
원본저장기능은 프로세싱되기 이전의 원본사진을 저장하고 다운로드 할수 있게 해주는 기능입니다. 사진을 리사이즈하고 워터마크를 새겨넣는 행위는 한마디로 사진을 훼손하는 행위로 비추어지기도 합니다. 한번 망가져버린 사진은 다시는 복구가 불가능합니다. 따라서 이미지를 축소하고 워터마크를 새겨넣기 전의 원본사진을 별도로 저장할 수 있게 했습니다.
사진을 선택하시고 원본을 저장할 폴더를 입력하십시요. 저장할 폴더를 입력하지 않으면 기존 화일의 저장 위치에 같이 저장됩니다. 하지만 이 경우 웹에서 접근이 가능하기 때문에 권한을 갖지 않은 사람도 직접접근하면 다운로드할 수 있게됩니다. 따라서 웹에서 접근이 되지 않은 폴더에 저장하시기를 권합니다.한가지 주의사항은 permission을 707로 설정해주셔야합니다. 입력하셨더라도 권한이 없는 경우 저장시 에러를 출력합니다.
화면에는 축소되고 워터마크가 새겨진 사진이 출력되지만 다운로드를 클릭한 경우 권한이 있는 회원에게는 축소되지않고 워터마크가 들어있지 않은 원본사진이 다운로드됩니다. 원본다운로드 권한에 체크하지 않은 경우 화일을 업로드한 회원본인과 관리자만 다운로드할 수 있습니다.
워터마크기능과 마찬가지로 체크된 mid에서만 작동합니다. 하나도 체크하지 않는 경우 작동하지 않습니다.
4 한글화일이름변경
개인적으로는 사용하고 있지만 배포판에 포함을 시킬까 고민했던 대목입니다. XE가 UTF8 환경으로 바뀌면서 한글 화일에 의한 문제점이 많이 줄어들었습니다. 그럼에도 아직 불편한 몇가지는 해결이 되지않고 있습니다.
그중 대표적인 것이 urlencode에 의한 화일이름 변화입니다.
화면에서는 한글이 잘 표시되지만 실제 화일의 속성을 보면 "크기변환_"부분이 변화되어서 "%ED%81%AC%EA%B8%B0%EB%B3%80%ED%99%98_"식으로 보이게 됩니다. 이 화일을 다운로드하거나 저장하면 %ED%81%AC%EA%B8%B0%EB%B3%80%ED%99%98_IMG_4725.JPG로 바뀌게 됩니다.
또한 서버 환경에 따라 EUCKR을 사용하는 서버에서는 한글 화일을 아예 읽지 못하거나 관리상의 문제가 발생하기도 합니다.
이 기능을 사용하게 되면 확장자와 상관없이 화일이름에 한글이 들어있는 모든 화일의 이름을 임의의 숫자로 변경해서 저장합니다.
5. 기타
워터마크 화일을 PNG 화일만을 지원합니다. 설치가 끝나고 작동상태를 확인하신후에는 각기 자신의 사이트에 맞는 워터마크 화일을 만드셔야합니다. ./modules/imageprocess/stamp/stamp.png에 있는 샘플을 참고하셔서 멋있는 로고화일을 만드시기 바랍니다.
현재 Xe에서 사용하는 대부분의 이미지 프로세싱이 GD를 기반으로 하고 있습니다. GD를 이용하는 여러가지 장점이 있음에도 가장 큰 단점은 Exif 데이터의 소실입니다. 사진을 주로 많이 다루는 사이트에서는 치명적일 수 밖에 없습니다. 이경우에는 GD가 아닌 외부화일을 이용해야합니다. 그중 대표적인 것이 ImageMagick입니다. 하지만 ImageMagick은 별도로 설치가 되어있어야하고 덩치가 큰 외부프로그램을 이용하는 관계로 불편한 점은 제하더라도 외부프로그램 실행을 제한한 일부 호스팅서버에서는 작동하지않을 수도 있습니다. ImageMagick 버전은 필요하신 분이 있으면 비공식버전으로 공개하도록 하겠습니다.
기존에 배포한 Jpg 자동축소 및 워터마크 애드온과 동반실행이 가능합니다. 따라서 게시판에 따라서 별도의 축소사이즈와 별도의 워터마크 설정이 가능합니다. 실제로 제 경우에도 보존가치가 높은 영역은 1024px에 qaulity 100으로 저장하고 자료가치가 높지 않은 게시판은 800px에 quality 80으로 저장하고 있습니다.
기능상의 문제점이나 의견이 있으면 남겨주시기 바랍니다.
눈팅만 하다가 카르마님 링크덕택으로 감사히 들어와 봅니다.!!
오늘 저녁이후 테스트후 리포팅해보겠습니다.
다시한번 저의 고민에 대한 관심 감사드립니다. (--)(__)