我正在尝试通过Squib文本方法使用半透明的嵌入式(嵌入式)png图像。与使用“ png”方法自行放置图像时相比,图像的半透明部分最终呈现出更暗的效果。
我尝试了不同的混合模式,但是没有一个能达到预期的效果。
require 'squib'
Squib::Deck.new cards: 1 do
background color: 'white'
# This image renders as expected
png file: 'semi-transparent.png', x: 100, y: 100
# The semi-transparent portions of this image render much darker than expected
text(str: ':circle:', x: 200, y: 100) do |embed|
embed.png key: ':circle:', file: 'semi-transparent.png'
end
save_png
end
这是输出示例:https://imgur.com/3wrXiBz
任何有关如何使嵌入式图像与独立图像匹配的技巧都很好。
我在这里打开了一个针对此问题的错误:https://github.com/andymeneely/squib/issues/278
我目前正在使用以下函数将嵌入的令牌重新映射到单字符字符串,以解决此问题:
def remapTokens(x)
mapping = {':circle:' => '@', ':square:' => '#', ':triangle:' => '^'}
mapping.each { |k,v| x.gsub!(k,v) }
return x
end
答案 0 :(得分:0)
这听起来像是个错误-您可以将其提交到我们的问题跟踪器吗? https://github.com/andymeneely/squib/issues
如果您还可以将PNG上载到导致该问题的问题上,那么该问题也会很严重。
本地支持半透明图像,因此它们以相同的方式呈现。 Squib的处理方式没有任何不同。 embed.png和png方法调用同一件事,所以我不确定这里发生了什么。我很乐意调查。
完全公开:我是Squib开发人员。