blendMode() 混合模式
例子
size(100, 100);
background(0);
blendMode(ADD);
stroke(102);
strokeWeight(30);
line(25, 25, 75, 75);
line(75, 25, 25, 75);
size(100, 100, P2D);
blendMode(MULTIPLY);
stroke(51);
strokeWeight(30);
line(25, 25, 75, 75);
line(75, 25, 25, 75);
描述
根据用户定义的模式来混合显示窗口的像素。对于屏幕上已有的像素B(基色)和源像素A(混合色),有以下击中混合模式。一个像素最终的颜色(结果色)是分别对A和B两个图层的通道独立的按照上述混合模式中的一种进行混合的结果。例如,红色通道与红色通道比较,绿色通道与绿色通道比较,蓝色通道与蓝色通道比较。
BLEND(混合)- 对颜色进行线性插值:C = A * 参数 + B。这是默认的混合模式
ADD(相加)- 对两个颜色进行相加的混合之后与白色取小:C = min(A * 参数 + B,255)
SUBTRACT(相减)- 对两个颜色进行相减的混合之后与黑色取大:C = max(B – A * 参数, 0)
DARKEST(最暗)- 选择最暗的颜色:C = min(A * 参数,B)
LIGHTEST(最亮)- 选择最亮的颜色:C = max(A * 参数,B)
DIFFERENCE(差值)-从下一层图像上减去上一层图像的颜色
EXLCLUSION(排除)-与DIEFFERENCE相似,但是不那么极端
MULTIPLY(正片叠底)-将颜色相乘,结果色总是会暗一些
SCREEN(滤色)-反向相乘,使用颜色的逆值(即255-C)
REPLACE(替换)-混合色直接替代了基色并且不应用alpha通道的值
我们推荐使用blendMode()而不是之前的blend() 函数。然而,与blend() 不同的是blendMode() 并不支持HARD_LIGHT, SOFT_LIGHT, OVERLAY, DODGE, BURN这些混合模式。在老一些的硬件上,LIGHTEST, DARKEST 和 DIFFERENCE 这些混合模式可能不能使用。
语法
BlendMode(mode)
参数
mode 整型:要使用的模式
返回值
void
- 本文固定链接: http://iprocessing.cn/2017/07/13/blendmode-混合模式/
- 转载请注明: 卡萨布兰卡 于 Processing编程艺术 发表