2012-07-13 64 views
1

美好的一天。 如何在使用Imagemagic的 以下圖片中的logo.jpg上強制使用white_rectangle.jpg。
還有一個額外的問題:Ruby的方法可以完成任務。使用圖像魔法爲圖像添加矩形

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

Removing logo

回答

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 
+0

什麼參數(rect,x,y)應該爲我附加的圖像設置? – itsnikolay 2012-07-13 10:25:13

+0

'rect'是在white_rectangle.jpg中保存實際圖像的對象。對於這個職位,只是試驗,直到你做對了。 – 2012-07-13 10:42:45