From cfa6641d1aef5272798cd57e46c02f14aefb9433 Mon Sep 17 00:00:00 2001 From: ippo615 Date: Tue, 3 Dec 2013 19:12:17 -0500 Subject: [PATCH] Improved color stretch filter --- src/filters/ColorPack.js | 2 -- src/filters/ColorStretch.js | 8 +++++- test/unit/filters/ColorStretch-test.js | 36 +++++++++++++++++++++++++- 3 files changed, 42 insertions(+), 4 deletions(-) diff --git a/src/filters/ColorPack.js b/src/filters/ColorPack.js index ad0742d8..ae5c2dff 100644 --- a/src/filters/ColorPack.js +++ b/src/filters/ColorPack.js @@ -70,8 +70,6 @@ }; - Kinetic.Filters.HSV = Kinetic.Util._FilterWrapSingleBuffer(HSV); - Kinetic.Factory.addFilterGetterSetter(Kinetic.Image, 'filterHue', 0); Kinetic.Factory.addFilterGetterSetter(Kinetic.Image, 'filterSaturation', 1); Kinetic.Factory.addFilterGetterSetter(Kinetic.Image, 'filterValue', 1); diff --git a/src/filters/ColorStretch.js b/src/filters/ColorStretch.js index d171290d..3b45cc27 100644 --- a/src/filters/ColorStretch.js +++ b/src/filters/ColorStretch.js @@ -90,6 +90,12 @@ }; - Kinetic.Filters.ColorStretch = Kinetic.Util._FilterWrapSingleBuffer(ColorStretch); + Kinetic.Filters.ColorStretch = function(src,dst,opt){ + if( this === Kinetic.Filters ){ + ColorStretch(src, dst||src, opt ); + }else{ + ColorStretch.call(this, src, dst||src, opt); + } + }; })(); diff --git a/test/unit/filters/ColorStretch-test.js b/test/unit/filters/ColorStretch-test.js index 5ae56420..873a380e 100644 --- a/test/unit/filters/ColorStretch-test.js +++ b/test/unit/filters/ColorStretch-test.js @@ -1,6 +1,6 @@ suite('Color Stretch', function () { // ====================================================== - test('enhancing colors', function (done) { + test('enhancing colors on layer', function (done) { var stage = addStage(); var shapesLayer = new Kinetic.Layer(); @@ -46,4 +46,38 @@ suite('Color Stretch', function () { done(); }); + + // ====================================================== + test('on image', function(done) { + var stage = addStage(); + + var imageObj = new Image(); + imageObj.onload = function() { + + var layer = new Kinetic.Layer(); + var filt = new Kinetic.Image({ + x: 10, + y: 10, + image: imageObj, + draggable: true + }); + var orig = new Kinetic.Image({ + x: 200, + y: 10, + image: imageObj, + draggable: true + }); + + layer.add(filt); + layer.add(orig); + stage.add(layer); + + filt.setFilter(Kinetic.Filters.ColorStretch); + layer.draw(); + + done(); + }; + imageObj.src = 'assets/bamoon.jpg'; + + }); });