photoshop中的图层混合功能大家一定很熟悉。此功能可以根据指定模式,将2个图层进行混合,实现不同色彩风格的图像效果,也就是我们通常所说的溶图。 实现图像混合的原理其实很简单,就是将两张图像的重叠,分别取相同位置的两个像素点上的RGB值,通过特定的公式计算出新的RGB值,这样,不公的公式,将产生不同的色彩效果。利用canvas提供的api,我们可以在支持canvas的浏览器上实现图像混合,例如,以下代码将实现上图“变暗”的效果://传入2个canvasfunctionblend(cv1,cv2){varc2d1=cv1.getContext('2d');varc2d2=cv2.getContext('2d');varimgData1=c2d1.getImageData(0,0,cv1.width,cv1.height);vardata1=imgData1.data;vardata2=c2d2.getImageData(0,0,cv2.width,cv2.height).data;//计算函数,传入2个RGB对象进行计算vardarken=function(a,b){varr={};for(variina){r[i]=a[i]< b[i] ? a[i] : b[i],这个公式很简单,就是比较2个值得大小。more除此之外,还有其他效果的算法可以供我们使用:排除a[i] + b[i
...
继续阅读
(38)