想象getImageLength在裁剪图像后不起作用

时间:2015-11-08 15:12:46

标签: php image imagick

我想裁剪图像的一部分,然后将部件上传到其他服务器。 我必须确保我上传的图片尺寸低于300k。

$image = new Imagick( $path );
echo $image->getImageLength();

$image->cropImage( $image->getImageWidth(), $image->getImageHeight() / 4, 0, 0 );

echo $image->getImageLength();

第一次使用$ image->获取图像大小时,getImageLength()会返回正确的图像值。 但是当我在cropImage之后获得图像大小时它返回0。

处理图像后如何获得正确的值?我想知道它是否小到可以上传。

2 个答案:

答案 0 :(得分:10)

最后,我想我找到了裁剪图像后获取文件大小的方法。

使用strlen( $image->getImageBlob() )将始终返回正确的值。

答案 1 :(得分:3)

似乎Imagick库仅以某种方式计算图像输出后的长度。如果您在之前调用$image->getImageLength()之后致电$image->getImageBlob() ,则会返回正确的值。