如何给参数定义两个颜色?又如何让他们相互叠加(如同在PS里的混合层叠)。例如: color1:0,255,255 color2:255,255,0 multiplied:0,255,0
原问题:How to multiply two colors in javascript?
闭关修行中......
David:基于一个非常简单的叠加公式即可实现,如下所示,这是一个JavaScript针对RGB的代码,Demo:http://jsfiddle.net/unrLC/
function multiply(rgb1, rgb2) { var result = [], i = 0; for( ; i < rgb1.length; i++ ) { result.push(Math.floor(rgb1[i] * rgb2[i] / 255)); } return result; }
Samuel:这里是颜色叠加公式,还包含其他混合模式的公式,地址:http://en.wikipedia.org/wiki/Blend_modes#Multiply
Formula: Result Color = (Top Color) * (Bottom Color) /255
你可以在JavaScript中轻松的实现:
var newRed = red1 * red2 / 255; var newGreen = green1 * green2 / 255; var newBlue = blue1 * blue2 / 255;
David:基于一个非常简单的叠加公式即可实现,如下所示,这是一个JavaScript针对RGB的代码,Demo:http://jsfiddle.net/unrLC/
Samuel:这里是颜色叠加公式,还包含其他混合模式的公式,地址:http://en.wikipedia.org/wiki/Blend_modes#Multiply
你可以在JavaScript中轻松的实现: