동일한 화일을 이미지프로세스모듈의 동일한 설정으로 EXIF 삭제여부만 변경해서 테스트 했습니다.

4,000x3,000 2.53M 화일을 800x600으로 리사이즈하고 워터마크와 텍스트로고까지 새겨넣으면서 측정했습니다.

 

ImageMagick이용시

exif 제거 전 : 345K

EXIF 제거후 : 279K

20% 정도 줄어드는 것이 생각보다는 화일 사이즈가 많이 줄어듭니다.

 

Imagick사용시는 차이가 더 큽니다.

exif 제거 전 : 255K

exif 제거후 : 189K

25%까지 줄어듭니다.

 

프로세싱 시간은 특별히 측정하지 않아도 Imagick이 특별히 느립니다.

게다가 PHP 버전에 따른 메모리 사용 차이가 커서 php7.x대에서는 거의 사용이 불가능할 정도입니다.

하지만 그럼에도 PHP8.x라면 Imagick 사용을 강력히 추천합니다.

imagick_exif_del.jpg

위는 imagick으로 프로세싱한 189K 화일이고

아래는 GD로 프로세싱한 552K 화일입니다.

GD.jpg

karma

profile
imageprocess, 통합검색확장모듈
아빠팬더곰은 영원한 초보
  • profile
    php7.4에서는 도저히 사용못하나요?
  • profile profile
    추천하지는 않습니다.
    일단 동작은 합니다. 문제는 걸핏하면 빼먹고 프로세싱을 하지 않는 경우가 생겨서 신뢰성이 많이 떨어집니다.
    열개, 백개 잘 프로세싱했어도 하나 빼먹으면 사용을 하지 않는게 더 나을겁니다.
  • profile profile
    php8.0으로 업데이트 할려니 사이트 손볼게 너무 많아서 포기했는데
    exif 때문에 또 고민되네요. 7.4도 아직 쓸만하다고 하시던데 ㅜㅜ
  • profile profile
    저는 공개배포하는 모듈 말고도 제가 만들어서 사용하는 모듈들때문에 고민했었습니다.
    일단 부딪혀보니까 사실 크게 어려운 문제들은 아닙니다.
    몇가지 패턴만 찾아서 수정하면 되니까요.
  • ?
    아니 EXIF 정보가 저리 덩치가 컸었나요? 뭐가 담겨 있을래 저 덩치가 나오는거지..??
    보통 알려져 있는 정보들이라면 저 덩치가 설명이 안되는데...
  • ? profile

    일반적으로 64KB를 예약해 놓고 그 안에서 마음대로 수정할 수 있도록 되어 있습니다. 원본의 EXIF 데이터를 보존한 채 이미지 크기만 줄였다면 64KB 그대로 가져왔을 것 같네요. 확 줄여놓은 결과물을 기준으로 보면 상당히 많은 용량이지만, 몇 메가짜리 원본 기준으로는 사실 얼마 안 되는 거예요.

     

    실제 EXIF 데이터가 수십KB를 차지한다면 썸네일이 포함되어 있을 가능성이 높습니다. 예전에 어떤 유명인이 셀카를 찍은 후 보여주고 싶은 부분만 적당히 잘라 SNS에 올렸는데, 자르기 전 원본의 썸네일이 EXIF에 남아 있어서 곤혹을 치렀다는 얘기를 들은 적이 있습니다.