我已经把这个来自 MDN 的演示,https://developer.mozilla.org/samples/canvas-tutorial/6_1_canvas_composite.html放到了一个 jsFiddle 中,并使颜色 50% 透明。 http://jsfiddle.net/eGAvb/
现在,根据 Apple 的说法,source-in
应该“在源图像和目标图像都不透明的地方显示源图像。在源图像和目标图像都是半透明的地方显示混合。在源图像和目标图像都是透明的地方显示透明度。”
因此,当您查看它的显示方式时,您会发现问题。它是一种非常浅的粉红色,根本不是紫色。请有人能解释一下为什么广场上的蓝色都没有融合到这里吗?为什么它实际上变轻了?
补充:我刚刚注意到,一个更引人注目的明显例子。当根据官方规范:“源图像和目标图像的异或”时,xor 明显显示紫色,它应该什么都不显示!它没有提到不透明度应该影响这些规则。