invert filter renamed to offset. offset filter now takes a parameter

This commit is contained in:
Alexander Cobleigh 2016-11-21 18:52:02 +01:00
parent f1b68b52c1
commit 7c639bc9d6
4 changed files with 23 additions and 14 deletions

View File

@ -23,7 +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.invert.js"></script>
<script type="text/javascript" src="scripts/modules/filter.offset.js"></script>
<script type="text/javascript" src="scripts/modules/filter.eval.js"></script>
<script type="text/javascript" src="scripts/modules/filter.balance.js"></script>

View File

@ -1,11 +0,0 @@
Filter.prototype.filter_invert = function(pixels = this.pixels(),p = null)
{
var d = pixels.data;
for (var i=0; i<d.length; i+=4) {
for (var j=0; j<3; j++) {
d[i+j] = 255 - d[i+j];
}
}
ronin.canvas.clear();
ronin.canvas.context().putImageData(pixels, 0, 0, 0, 0, pixels.width, pixels.height);
}

View File

@ -19,8 +19,9 @@ function Filter(element)
case "chromatic":
this.filter_chromatic(this.pixels(),p);
break;
case "invert":
this.filter_invert(this.pixels(),p);
case "offset":
this.filter_offset(this.pixels(),p);
break;
case "eval":
this.filter_eval(this.pixels(),p);
break;

View File

@ -0,0 +1,19 @@
Filter.prototype.filter_offset = function(pixels = this.pixels(),p = null)
{
var v = 255; // defaults to 255 if no parameter specified
if (p.length > 0 && p[0]) {
v = parseInt(p[0]);
// permissible range is 0 <= v <= 255
if (v > 255) { v = 255;}
if (v < 0) { v = 0;}
}
var d = pixels.data;
for (var i=0; i<d.length; i+=4) {
for (var j=0; j<3; j++) {
d[i+j] = v - d[i+j];
}
}
ronin.canvas.clear();
ronin.canvas.context().putImageData(pixels, 0, 0, 0, 0, pixels.width, pixels.height);
}