2012-06-13 3 views
0

나는 다음과 같은 문제로 실행중인 :gmagick 기하학

// $data contains some image data 

$gm = new gmagick; 
$gm->readImageBlob($data); 
$gm->resizeImage(
    100, 
    50, 
    gmagick::FILTER_LANCZOS, 
    1 
); 

$gm->readImageBlob($data); 
$gm->resizeImage(
    140, 
    70, 
    gmagick::FILTER_LANCZOS, 
    1 
); 
$output = $gm->getImageBlob(); 

print_r($gm->getImageGeometry()); 

예상치 못한 결과입니다

Array ([width] => 100 [height] => 50) 

를 인쇄합니다. 내가 대신 gmagick의 imagick과 정확히 같은 코드를 실행하면 내가

$output = $gm->getImageBlob(); 

행을 생략하면, 나는 gmagick를 들어, 흥미롭게도,

Array ([width] => 140 [height] => 70) 

또한 다른 (예상) 결과를 얻을 것이다 I 예상 이미지 크기는 140x70입니다.

내가 여기에서 중요한 것을 놓치지 않았습니다.

감사합니다.

답변

1

imagick에서 getimageblob 방법과 gmagick 버전 간에는 한 가지 차이점이 있습니다. 두 번째 카운터는 내부 카운터를 재설정하므로 항상 마지막 이미지가 아니라 처음 추가 된 이미지의 크기를 갖습니다. 카운터를 설정하라는 이전 영상 버퍼 수행 검사가 있기 때문에

imagick's version of getimageblob

gmagick's version of getimageblob

는 버그처럼 보인다. 이 함수는 php net의 gmagick 섹션에 문서화되어 있지 않으므로 지원되지 않을 수도 있고 유지되지 않을 수도 있습니다.