Php gmagick几何

Php gmagick几何,php,gmagick,Php,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

我遇到了以下问题:

// $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 )
这是一个意想不到的结果。如果我用imagick而不是gmagick执行完全相同的代码,我将得到不同的(预期的)结果

还有,有趣的是,对于gmagick,如果我省略这一行

$output = $gm->getImageBlob(); 
然后我得到了预期的图像大小140x70

我是不是错过了一些重要的东西


谢谢

imagick和gmagick版本中的
getimageblob
方法有一个区别。第二个重置内部计数器,所以您将始终拥有第一个添加图像的尺寸,而不是最后一个

看起来像是一个bug,因为在重置计数器之前对图像缓冲区进行了检查。请注意,php net的gmagick部分中没有记录此函数,因此它可能不受支持且未维护

$output = $gm->getImageBlob();