类型 字符串 对象 绘制 库 display.* 修订 版本 2024.3703 关键词 加法混合, 混合模式, 混合, Porter-Duff 另请参阅 绘制 object.fill object.blendMode
允许您更改特定对象的混合模式。
标准混合模式可以通过以下字符串之一指定
"normal" — 这是标准混合模式。"add" — 也称为线性减淡。加法混合可用于发光效果。"multiply" — 乘法混合可用于创建阴影。与白色混合将导致无变化;与其他颜色混合将使合成图像变暗。"screen" — 这对于在不使最暗区域变亮的情况下使图像变亮很有用。Porter-Duff 混合模式可以通过下面列出的字符串之一指定。
"clear""src""dst""srcOver""dstOver""srcIn""dstIn""srcOut""dstOut""srcAtop""dstAtop""xor"自定义混合模式允许您控制如何在混合计算中使用源和目标因子。它们遵循 OpenGL-ES 2 规范 中讨论的混合因子。
您可以通过 Lua 表指定自定义混合模式,该表将源和目标因子指定为
字符串。 默认情况下,与 srcColor 相同。
字符串。 默认情况下,与 dstColor 相同。
"zero""one""srcColor""oneMinusSrcColor""dstColor""oneMinusDstColor""srcAlpha""oneMinusSrcAlpha""dstAlpha""oneMinusDstAlpha""srcAlphaSaturate"某些 Android 设备无法始终如一地将图像加载为预乘 alpha。我们已经应用了变通方法,但它们并非万无一失。在这些设备上,"multiply" 和 "screen" 混合模式将无法正常工作,您应该在控制台中看到一条关于此问题的警告消息。
Porter-Duff 混合模式仅适用于已加载为预乘 alpha 的图像。
local laser = display.newImage( "blendmode_laser.png" ) laser.fill.blendMode = "add"
local laser = display.newImage( "blendmode_laser.png" ) laser.fill.blendMode = "srcAtop"
local laser = display.newImage( "blendmode_laser.png" )
local customBlend = {
srcColor = "srcColor",
srcAlpha = "oneMinusDstColor",
dstColor = "dstAlpha",
dstAlpha = "srcAlphaSaturate"
}
laser.fill.blendMode = customBlend