add invert filter

This commit is contained in:
Alexander Cobleigh 2016-11-21 18:22:03 +01:00
parent 390ccb2278
commit e49ad6c6ac
3 changed files with 16 additions and 1 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.invert.js"></script>
<script type="text/javascript" src="scripts/keyboard.js"></script>
<script type="text/javascript" src="scripts/command.js"></script>
@ -43,4 +44,4 @@
</div>
<script type="text/javascript" src="scripts/init.js"></script>
</body>
</html>
</html>

View File

@ -0,0 +1,11 @@
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,6 +19,9 @@ function Filter(element)
case "chromatic":
this.filter_chromatic(this.pixels(),p);
break;
case "invert":
this.filter_invert(this.pixels(),p);
break;
}
}