叠加不显示
Overlay not showing
我正在尝试将签名的 png(具有透明背景)叠加到我的表单的 png 上。当我尝试合成两个图像并渲染输出时,只显示 png 格式和我的注释。我可以通过更改 send_data
渲染出各种图像中的任何一个,所以我知道图像在那里。
def index
img = Magick::Image.read('public/form_template.png').first
form = Magick::Draw.new
form.annotate(img,300,400,90,30,"Test") do
self.font = 'Helvetica'
self.pointsize = 50
self.font_weight = Magick::BoldWeight
self.fill = 'Black'
self.gravity = Magick::NorthWestGravity
end
form.annotate(img,300,400,2000,30,"1234567890") do
self.font = 'Helvetica'
self.pointsize = 50
self.font_weight = Magick::BoldWeight
self.fill = 'Black'
self.gravity = Magick::NorthWestGravity
end
sig = Magick::Image.read("public/uploads/signature.png").first
sig.trim
sig_finished = sig.resize(175,50)
finished_form = img.composite(sig_finished,Magick::EastGravity,Magick::OverlayCompositeOp)
send_data finished_form.to_blob, :stream=>"false",
:filename=>'test.png',:type=>'image/png',
:disposition=>'inline'
end
更新:我创建了一个完全透明的 Gif 来模仿我试图覆盖的形式。签名出现。这让我尝试了不同的运算符结果我应该使用 Magick::OverCompositeOp
而不是 OverlayCompositeOp
我应该使用 Magick::OverCompositeOp 而不是 MagickOverlayCompositeOp
我正在尝试将签名的 png(具有透明背景)叠加到我的表单的 png 上。当我尝试合成两个图像并渲染输出时,只显示 png 格式和我的注释。我可以通过更改 send_data
渲染出各种图像中的任何一个,所以我知道图像在那里。
def index
img = Magick::Image.read('public/form_template.png').first
form = Magick::Draw.new
form.annotate(img,300,400,90,30,"Test") do
self.font = 'Helvetica'
self.pointsize = 50
self.font_weight = Magick::BoldWeight
self.fill = 'Black'
self.gravity = Magick::NorthWestGravity
end
form.annotate(img,300,400,2000,30,"1234567890") do
self.font = 'Helvetica'
self.pointsize = 50
self.font_weight = Magick::BoldWeight
self.fill = 'Black'
self.gravity = Magick::NorthWestGravity
end
sig = Magick::Image.read("public/uploads/signature.png").first
sig.trim
sig_finished = sig.resize(175,50)
finished_form = img.composite(sig_finished,Magick::EastGravity,Magick::OverlayCompositeOp)
send_data finished_form.to_blob, :stream=>"false",
:filename=>'test.png',:type=>'image/png',
:disposition=>'inline'
end
更新:我创建了一个完全透明的 Gif 来模仿我试图覆盖的形式。签名出现。这让我尝试了不同的运算符结果我应该使用 Magick::OverCompositeOp
而不是 OverlayCompositeOp
我应该使用 Magick::OverCompositeOp 而不是 MagickOverlayCompositeOp