mirror of
https://github.com/konvajs/konva.git
synced 2026-01-08 18:54:40 +08:00
updated Sepia filter and tests
This commit is contained in:
@@ -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, {} );
|
||||
}
|
||||
};
|
||||
|
||||
})();
|
||||
|
||||
Reference in New Issue
Block a user