Added eval filter.

This commit is contained in:
Devine Lu Linvega 2016-11-19 10:37:05 -08:00
parent 390ccb2278
commit 7648f5e353
4 changed files with 32 additions and 0 deletions

View File

@ -23,6 +23,7 @@
<script type="text/javascript" src="scripts/modules/filter.js"></script>
<script type="text/javascript" src="scripts/modules/filter.saturation.js"></script>
<script type="text/javascript" src="scripts/modules/filter.chromatic.js"></script>
<script type="text/javascript" src="scripts/modules/filter.eval.js"></script>
<script type="text/javascript" src="scripts/keyboard.js"></script>
<script type="text/javascript" src="scripts/command.js"></script>

View File

@ -6,6 +6,7 @@ function Command(content)
function raster(array) // @ {50w}x100
{
return array;
var str = array.join(" ");
var m = str.replace(/(\{(.*)\})/g, function(a) {

View 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.");
}

View File

@ -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;
}
}