Added eval filter.
This commit is contained in:
27
scripts/modules/filter.eval.js
Normal file
27
scripts/modules/filter.eval.js
Normal file
@@ -0,0 +1,27 @@
|
||||
Filter.prototype.filter_eval = function(pixels = this.pixels(),p = null)
|
||||
{
|
||||
console.log("working");
|
||||
|
||||
// : eval {x} % 100 == 0
|
||||
|
||||
var data = pixels.data;
|
||||
|
||||
for (var i = 0; i < data.length; i += 4) {
|
||||
|
||||
var x = (i/4) % pixels.width;
|
||||
var y = Math.floor((i/4)/pixels.width);
|
||||
|
||||
var q = (x % parseInt(p[0]) === 0 && y % parseInt(p[1]) === 0);
|
||||
|
||||
if(q === true){
|
||||
data[i] = 255; // red
|
||||
data[i + 1] = 0; // green
|
||||
data[i + 2] = 0; // blue
|
||||
data[i + 3] = 255; // alpha?
|
||||
}
|
||||
}
|
||||
|
||||
ronin.canvas.clear();
|
||||
ronin.canvas.context().putImageData(pixels, 0, 0, 0, 0, pixels.width, pixels.height);
|
||||
console.log("done.");
|
||||
}
|
@@ -19,6 +19,9 @@ function Filter(element)
|
||||
case "chromatic":
|
||||
this.filter_chromatic(this.pixels(),p);
|
||||
break;
|
||||
case "eval":
|
||||
this.filter_eval(this.pixels(),p);
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
|
Reference in New Issue
Block a user