使用imagemagick为图像添加一个矩形

时间:2012-07-13 08:25:20

标签: ruby imagemagick

美好的一天。 如何在下图中的logo.jpg上施加白色rectangle.jpg 使用Imagemagick。
还有一个额外的问题:Ruby的方法可以完成任务。

def (path_to_image)
# impose white_rectangle.jpg on logo
end

Removing logo

1 个答案:

答案 0 :(得分:3)

使用RMagick

可以轻松完成此操作
require 'RMagick'

logo = Magick::Image.read("logo.jpg").first
rect = Magick::Image.read("white_rectangle.jpg").first
result = logo.composite(rect, x, y, Magick::CopyCompositeOp)
result.write "result.jpg"

另一种方法是在不使用合成图像的情况下绘制白色矩形:

image = Magick::Image.read("logo.jpg").first
gc = Magick::Draw.new
gc.stroke = 'white'
gc.fill = 'white'
gc.rectangle x_start, y_start, x_end, y_end
gc.draw(image)
image.write "result.jpg"

使用ImageMagick命令行工具,您可以将一个图像与另一个图像叠加在一起,如下所示:

$ composite white_rectangle.jpg logo.jpg -geometry +x+y result.jpg