Imagick 一旦设置就不会反映重力
Imagick not reflects the gravity once it is set
我正在尝试翻译以下 Imagemagick 命令行代码
convert tmpI.mpc -gravity center -crop ${ww}x${hc}+0+0 +repage
如下
$tmpIC->setGravity(imagick::GRAVITY_CENTER);
$tmpIC->cropImage($ww, $hc, 0, 0);
$tmpIC->setImagePage($tmpIC->getImageWidth(), $tmpIC->getImageHeight(), 0, 0);
但设置或不设置重力没有区别。请告诉我我的这段代码有什么问题
裁剪前图像的宽度和高度为
tmpIC->getImageWidth() = 479
tmpIC->getImageHeight() = 599
而ww和hc的值为
ww=479
hc=479
裁剪后的图片宽高如下
tmpIC->getImageWidth() = 479
tmpIC->getImageHeight() = 479
并非所有 ImageMagick 命令都可以直接转换为 Imagick 中的相同命名命令。
在您的情况下,重力命令贴图效果不佳 - 但您可以在单个 cropImage 函数调用中自行完成将图像裁剪到中心的相同效果:
$tmpIC->cropImage(
$ww,
$hc,
$startX = ($tmpIC->getImageWidth() - $ww) / 2,
$startY = ($tmpIC->getImageHeight() - $hc) / 2
);
我正在尝试翻译以下 Imagemagick 命令行代码
convert tmpI.mpc -gravity center -crop ${ww}x${hc}+0+0 +repage
如下
$tmpIC->setGravity(imagick::GRAVITY_CENTER);
$tmpIC->cropImage($ww, $hc, 0, 0);
$tmpIC->setImagePage($tmpIC->getImageWidth(), $tmpIC->getImageHeight(), 0, 0);
但设置或不设置重力没有区别。请告诉我我的这段代码有什么问题
裁剪前图像的宽度和高度为
tmpIC->getImageWidth() = 479
tmpIC->getImageHeight() = 599
而ww和hc的值为
ww=479
hc=479
裁剪后的图片宽高如下
tmpIC->getImageWidth() = 479
tmpIC->getImageHeight() = 479
并非所有 ImageMagick 命令都可以直接转换为 Imagick 中的相同命名命令。
在您的情况下,重力命令贴图效果不佳 - 但您可以在单个 cropImage 函数调用中自行完成将图像裁剪到中心的相同效果:
$tmpIC->cropImage(
$ww,
$hc,
$startX = ($tmpIC->getImageWidth() - $ww) / 2,
$startY = ($tmpIC->getImageHeight() - $hc) / 2
);