updated Sepia filter and tests

This commit is contained in:
Eric Rowell
2014-01-03 17:31:38 -08:00
parent 6ddefa05b5
commit 5060fbb8cb
3 changed files with 20 additions and 95 deletions

View File

@@ -10,21 +10,12 @@
* @license MPL v1.1 [http://www.pixastic.com/lib/license.txt]
*/
var Sepia = function (src, dst, opt) {
var data = src.data,
w = src.width,
y = src.height,
dstData = dst.data,
Kinetic.Filters.Sepia = function (imageData) {
var data = imageData.data,
w = imageData.width,
y = imageData.height,
w4 = w*4,
offsetY,
x,
offset,
or,
og,
ob,
r,
g,
b;
offsetY, x, offset, or, og, ob, r, g, b;
do {
offsetY = (y-1)*w4;
@@ -40,20 +31,13 @@
g = or * 0.349 + og * 0.686 + ob * 0.168;
b = or * 0.272 + og * 0.534 + ob * 0.131;
dstData[offset] = r > 255 ? 255 : r;
dstData[offset+1] = g > 255 ? 255 : g;
dstData[offset+2] = b > 255 ? 255 : b;
dstData[offset+3] = data[offset+3];
data[offset] = r > 255 ? 255 : r;
data[offset+1] = g > 255 ? 255 : g;
data[offset+2] = b > 255 ? 255 : b;
data[offset+3] = data[offset+3];
} while (--x);
} while (--y);
};
Kinetic.Filters.Sepia = function(src,dst,opt){
if( this === Kinetic.Filters ){
Sepia(src, dst||src, opt );
}else{
Sepia.call(this, src, dst||src, {} );
}
};
})();