2012-12-04 2 views
4

내가 사용 : gmagick :: thumbnailimage가 exec (gm)보다 느린 이유는 무엇입니까? 단순히 PHP에서 이미지를 썸네일 시도에서

$image = new Gmagick('/tmp/large.jpg'); 
$image->thumbnailImage(0, 100); 
$image->writeImage('/tmp/small.jpg'); 

은 약 15 초에 실행 한. 나는 다음 시도

: 1 초 미만으로 실행

exec('gm convert -size 200x100 /tmp/large.jpg -resize 200x100 +profile "*" /tmp/small.jpg'); 

.

가능한 한 자세히 설명하는 이유는 무엇입니까? 또한 두 번째 방법을 사용해서는 안되는 이유가 있습니까? 아니면 gmagick 확장을 더 빠르게 만들 수있는 방법이 있습니까?

버전 정보 :

gmagick - 1.1.0RC3
GraphicsMagick - GraphicsMagick 1.3.17 2012년 10월 13일 Q8

나는 '-size'옵션은 일부가 아닌 것을 알아 냈

답변

1

PHP는 thumbnailing 방법 중. 수동으로 추가하면 다음 PHP 코드가 실제로 보다 빨리 실행됩니다. 명령 줄보다 빠릅니다.

$image = new Gmagick(); 
$image->setSize(200,200); // This sets the size of the canvas. Should be roughly twice the dimensions of the desired thumbnail for antialiasing to work well. 
$image->readImage('/tmp/large.jpg'); 
$image->thumbnailImage(0, 100); 
$image->writeImage('/tmp/small.jpg'); 

This post 매우 도움이되었습니다.

+0

더 좋은 질문 일 수 있습니다 : 왜 내가 찾을 수있는 유일한 Gmagick 예제입니까? 그러나, 내가 필요한 것은 하나뿐입니다. 감사. – edwardsmarkf