如何使用RMagick向叠加的图像添加重力

时间:2018-12-26 22:43:01

标签: ruby-on-rails imagemagick rmagick

我正在从两个重叠的图像中创建一个新图像,并希望为要重叠的图像设置重力。我希望将较小的图像叠加在较大图像的中心,因为它当前默认为左上角。我尝试将原始代码与该行一起使用

overlay.gravity = Magick::SouthGravity

在调整图像大小后添加,然后是整个代码:

source = Magick::Image.read("image-1.jpg").first
source = source.resize_to_fill(471, 408).quantize(256, 
Magick::GRAYColorspace).contrast(true)
overlay = Magick::Image.read("image-2.jpg").first
overlay = overlay.resize_to_fill(150, 150)
overlay.gravity = Magick::CenterGravity
source.composite!(overlay, 0, 0, Magick::OverCompositeOp)
source.write("new.jpg")

此代码我没有收到任何错误,但是当图像重叠时,它不会影响重力,因为较小的图像继续放置在左上角而不是中心。

应该在代码中的不同位置定义重力来实现这一目标还是用不同的方式编写?

0 个答案:

没有答案