imagick getImageLength 在裁剪图像后不起作用
imagick getImageLength not working after crop image
我想裁剪一部分图片,然后将这一部分上传到其他服务器。
我必须确保我上传的图片大小在 300k 以下。
$image = new Imagick( $path );
echo $image->getImageLength();
$image->cropImage( $image->getImageWidth(), $image->getImageHeight() / 4, 0, 0 );
echo $image->getImageLength();
我第一次使用 $image->getImageLength() return 获得图像大小的正确值。
但是它 returns 0 而我在 cropImage 之后得到图像大小。
图像处理后如何得到正确的值?我想知道是不是小到可以上传
终于,我想我找到了裁剪图像后获取文件大小的方法。
使用 strlen( $image->getImageBlob() )
将始终 return 正确的值。
看来Imagick库只是在图像以某种方式输出后才计算长度。如果您在 之前调用 $image->getImageBlob()
之后调用 $image->getImageLength()
,它将 return 正确的值。
我想裁剪一部分图片,然后将这一部分上传到其他服务器。 我必须确保我上传的图片大小在 300k 以下。
$image = new Imagick( $path );
echo $image->getImageLength();
$image->cropImage( $image->getImageWidth(), $image->getImageHeight() / 4, 0, 0 );
echo $image->getImageLength();
我第一次使用 $image->getImageLength() return 获得图像大小的正确值。 但是它 returns 0 而我在 cropImage 之后得到图像大小。
图像处理后如何得到正确的值?我想知道是不是小到可以上传
终于,我想我找到了裁剪图像后获取文件大小的方法。
使用 strlen( $image->getImageBlob() )
将始终 return 正确的值。
看来Imagick库只是在图像以某种方式输出后才计算长度。如果您在 之前调用 $image->getImageBlob()
之后调用 $image->getImageLength()
,它将 return 正确的值。