Imagick:设置 Imagick 项目的重力
我在 Imagick 中设置图像的重力时遇到了一些真正的困难。
我已成功设置 ImaickDraw 对象的重力,但尚未成功在 Imagick 对象中设置它。
下面是我现在使用的基本代码。我刚刚使用了与 ImagickDraw 相同的方法,但显然它不起作用。
$rating = new Imagick("ratings/" . $rating . ".png");
$rating->setGravity (Imagick::GRAVITY_SOUTH);
$im->compositeImage($rating, imagick::COMPOSITE_OVER, 20, 20);
有什么想法如何设置现有图像而不是绘制对象的重力吗?
谢谢!
I'm having some real difficulties setting the gravity of an image in Imagick.
I've managed to set the gravity of an ImaickDraw object but I've not been successful setting it in a Imagick object.
Below is the basic code I'm using that the moment. I've just used the same as for ImagickDraw but obviously it isn't working.
$rating = new Imagick("ratings/" . $rating . ".png");
$rating->setGravity (Imagick::GRAVITY_SOUTH);
$im->compositeImage($rating, imagick::COMPOSITE_OVER, 20, 20);
Any ideas how to set the gravity for an exisiting image rather than a draw object?
Thanks!
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
在您的情况下,
setGravity
方法应该应用于$im
对象。但无论如何,重力看起来只影响用drawImage
插入的 ImagickDraw 对象,并且无法像使用 ImageMagick 命令那样将图像放入绘图中。所以有两种方法可以做到这一点:
第一。如果您的主机允许使用
shell_exec
或exec
函数,您可以运行如下命令。第二。否则,您可以计算放置在基础图像上的图像的位置并使用
compositeImage
In your case
setGravity
method should be applied to$im
object. But anyways it looks like the gravity affects only ImagickDraw objects, inserted withdrawImage
, and there's no way to put an image in a draw like you can do with ImageMagick commands.So there's two ways to do this:
1st. If your hosting allows functions
shell_exec
orexec
, you can run a command like.2nd. Otherwise, you can calculate position of the image being placed on the base image and use
compositeImage