如何在Go中混合两个图像?

时间:2015-01-11 00:00:21

标签: image go

我有两个image.RGBA对象:背景和文本图层。文本图层将消除锯齿,并且可能具有不同颜色的文本。我想要的是:

draw.Draw(bgLayer, bgLayer.Bounds(), textLayer, image.ZP, draw.OneMinusSrcAlpha)

不幸的是,这不是一个选择。 draw.Src显然只是覆盖了像素。当alpha通道为255时,draw.Over与draw.Src相同。当它是< 255,然后像素充当(0,0,0,alpha),因此颜色信息消失。看起来他们希望我使用面具,这意味着我必须创建另一个图像,并自己对所有像素进行数学计算;在这种情况下,我也可以编写自己的Draw函数来完成我想要的工作。

我认为我错过了一些明显的东西,但我还没有在文档或Google上找到它。

0 个答案:

没有答案