Merge pull request #1605 from mgalang/master

Add darken, lighten, subtract modes to blend filter
This commit is contained in:
Juriy Zaytsev 2014-08-20 21:27:20 +02:00
commit ee6cea72dd

View file

@ -94,10 +94,30 @@
data[i + 2] = Math.min(255, b + tb);
break;
case 'diff':
case 'difference':
data[i] = Math.abs(r - tr);
data[i + 1] = Math.abs(g - tg);
data[i + 2] = Math.abs(b - tb);
break;
case 'subtract':
var _r = r-tr;
var _g = g-tg;
var _b = b-tb;
data[i] = (_r < 0) ? 0 : _r;
data[i + 1] = (_g < 0) ? 0 : _g;
data[i + 2] = (_b < 0) ? 0 : _b;
break;
case 'darken':
data[i] = Math.min(r, tr);
data[i + 1] = Math.min(g, tg);
data[i + 2] = Math.min(b, tb);
break;
case 'lighten':
data[i] = Math.max(r, tr);
data[i + 1] = Math.max(g, tg);
data[i + 2] = Math.max(b, tb);
break;
}
}