PIL中的HTML5 canvas source-atop替代方案

时间:2015-12-02 16:08:18

标签: python image python-imaging-library

当透明区域保持不变时,我无法找到在另一幅图像上添加颜色叠加的正确功能。

例如,在源图像上有一个半透明的白色圆圈,在它周围,一切都是完全透明的。当我用红色应用操作时,我想得到白色/红色圆圈,周围有完全透明的区域。

在HTML5画布上,它通过以下方式实现:

layerContext.globalCompositeOperation = "source-atop";
layerContext.fillStyle = color;
layerContext.fillRect(0, 0, w, h);

我尝试了alpha_compositeblendcomposite函数,但可能会误用它们。

编辑:这是我使用的:

overlay = Image.new('RGB', im1.size, (255, 0, 0))
im1.paste(overlay, mask=im1)

画布:Canvas result PIL:PIL result

PIL结果稍微亮一点,但颜色是一样的。有什么想法吗?

0 个答案:

没有答案