2010-03-29 2 views
8

이미지 크기 조정 및 축소판 만들기를 수행하는 사진 갤러리 코드가 있습니다. 나는 이것을하기 위해 ImageMagick을 사용한다. Google의 Page Speed ​​도구를 통해 갤러리 페이지를 실행하고 크기가 조정 된 이미지와 미리보기 이미지 모두에 대해 약 10KB의 추가 데이터 (JPEG 파일)가 있음이 드러났습니다.JPG 파일 크기 최적화 - PHP, ImageMagick 및 Google의 페이지 속도

파일 크기를 최적화하기 위해 스크립트에 추가 할 수있는 항목은 무엇입니까?


resizeImage() 함수를 호출 할 때 나는 0.9의 흐림 설정으로 imagick::FILTER_LANCZOS 필터를 사용하고

추가 정보. JPEG의 화질은 80입니다.

+0

ImageMagick에 어떤 인수를하고 있습니까? – asgerhallas

+0

설정/인수를 해결하기 위해 내 질문이 업데이트되었습니다. Google의 Page Speed는 10KB의 정보를 무손실로 제거하고 이미지를 더 압축하지 않습니다. 어떻게 든 제거 할 수있는 메타 데이터가 있습니까? – Sonny

답변

10

나는이 좋은 질문이 있는데, "Tools for JPEG optimization?"이라는 좋은 정보를 가지고 있지만 솔루션은 PHP 외부에 있습니다. 그 질문의 솔루션에서 힌트를 사용하여 난을 수행 할 수있는 두 개의 무손실 최적화가 사실을 발견 : 하프 맨의

  1. 최적화 코딩 테이블
  2. 메타 데이터의
  3. 제거 (등 EXIF)

  1. ImageMagick documentation에 따르면, 최적의 허프만 코딩 테이블이 기본적으로 계산된다 : 모두 ImageMagick으로이 방법을 수행 할 수 있습니다. 이 단계는 이미 처리되었습니다.
  2. meta-data의 제거는 stripImage() 방법을 사용하여 매우 간단하게 수행 할 수 있습니다.

테스트 한 이미지 하나가 12KB 줄어 들었습니다. 600x450 파일은 63.42KB에서 51.42KB로, 140x105 축소판은 17.98KB에서 5.98KB로 증가했습니다.

3

이미지가 정확한 색상 수의 PNG로 변환되는 Yahoo의 SmushIt 서비스를 통해 이미지를 실행하십시오. 품질의 손실은 없지만 무게의 손실 :

+1

그것은 매끄러운 도구입니다. 불행히도 서비스로 설정 한 것처럼 보이지 않습니다. – Sonny