Invert filter
This commit is contained in:
parent
c02348a091
commit
024bda099f
@ -32,12 +32,14 @@
|
|||||||
<script type="text/javascript" src="scripts/filters/filter.js"></script>
|
<script type="text/javascript" src="scripts/filters/filter.js"></script>
|
||||||
<script type="text/javascript" src="scripts/filters/stencil.js"></script>
|
<script type="text/javascript" src="scripts/filters/stencil.js"></script>
|
||||||
<script type="text/javascript" src="scripts/filters/rotate.js"></script>
|
<script type="text/javascript" src="scripts/filters/rotate.js"></script>
|
||||||
<!-- Need to migrate -->
|
<script type="text/javascript" src="scripts/filters/invert.js"></script>
|
||||||
|
<!-- Need to migrate
|
||||||
<script type="text/javascript" src="scripts/filters/saturation.js"></script>
|
<script type="text/javascript" src="scripts/filters/saturation.js"></script>
|
||||||
<script type="text/javascript" src="scripts/filters/chromatic.js"></script>
|
<script type="text/javascript" src="scripts/filters/chromatic.js"></script>
|
||||||
<script type="text/javascript" src="scripts/filters/offset.js"></script>
|
<script type="text/javascript" src="scripts/filters/offset.js"></script>
|
||||||
<script type="text/javascript" src="scripts/filters/eval.js"></script>
|
<script type="text/javascript" src="scripts/filters/eval.js"></script>
|
||||||
<script type="text/javascript" src="scripts/filters/balance.js"></script>
|
<script type="text/javascript" src="scripts/filters/balance.js"></script>
|
||||||
|
-->
|
||||||
|
|
||||||
<script type="text/javascript" src="scripts/core/keyboard.js"></script>
|
<script type="text/javascript" src="scripts/core/keyboard.js"></script>
|
||||||
<script type="text/javascript" src="scripts/core/cursor.js"></script>
|
<script type="text/javascript" src="scripts/core/cursor.js"></script>
|
||||||
|
@ -23,6 +23,7 @@ function Commander(element,element_input)
|
|||||||
|
|
||||||
function run()
|
function run()
|
||||||
{
|
{
|
||||||
|
console.log("~ "+queue[0].trim());
|
||||||
active(queue[0].trim());
|
active(queue[0].trim());
|
||||||
|
|
||||||
queue.shift();
|
queue.shift();
|
||||||
@ -34,7 +35,7 @@ function Commander(element,element_input)
|
|||||||
function active(content)
|
function active(content)
|
||||||
{
|
{
|
||||||
var key = content[0];
|
var key = content[0];
|
||||||
var cmd = new Command(content.substring(1).split(" "));
|
var cmd = new Command(content.substring(1).trim().split(" "));
|
||||||
|
|
||||||
if(ronin.modules[key]){
|
if(ronin.modules[key]){
|
||||||
ronin.modules[key].active(cmd);
|
ronin.modules[key].active(cmd);
|
||||||
|
@ -55,6 +55,6 @@ function Filter()
|
|||||||
|
|
||||||
this.pixels = function()
|
this.pixels = function()
|
||||||
{
|
{
|
||||||
return this.context().getImageData(0,0,ronin.surface.size.width,ronin.surface.size.height);
|
return ronin.surface.active_layer.context().getImageData(0,0,ronin.surface.size.width * 2,ronin.surface.size.height * 2);
|
||||||
}
|
}
|
||||||
}
|
}
|
26
scripts/filters/invert.js
Normal file
26
scripts/filters/invert.js
Normal file
@ -0,0 +1,26 @@
|
|||||||
|
function Filter_Invert()
|
||||||
|
{
|
||||||
|
Filter.call(this);
|
||||||
|
this.parameters = [Angle];
|
||||||
|
|
||||||
|
this.render = function(cmd)
|
||||||
|
{
|
||||||
|
var imageObj = new Image();
|
||||||
|
imageObj.src = ronin.surface.active_layer.element.toDataURL('image/png');
|
||||||
|
|
||||||
|
var context = ronin.surface.active_layer.context();
|
||||||
|
|
||||||
|
var imageData = context.getImageData(0, 0, imageObj.width * 2, imageObj.height* 2);
|
||||||
|
var data = imageData.data;
|
||||||
|
|
||||||
|
for(var i = 0; i < data.length; i += 4) {
|
||||||
|
data[i] = 255 - data[i];
|
||||||
|
data[i + 1] = 255 - data[i + 1];
|
||||||
|
data[i + 2] = 255 - data[i + 2];
|
||||||
|
}
|
||||||
|
|
||||||
|
ronin.surface.active_layer.clear();
|
||||||
|
context.putImageData(imageData, 0, 0);
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
@ -7,6 +7,7 @@ function Render(rune)
|
|||||||
|
|
||||||
this.collection["stencil"] = new Filter_Stencil();
|
this.collection["stencil"] = new Filter_Stencil();
|
||||||
this.collection["rotate"] = new Filter_Rotate();
|
this.collection["rotate"] = new Filter_Rotate();
|
||||||
|
this.collection["invert"] = new Filter_Invert();
|
||||||
|
|
||||||
this.active = function(cmd)
|
this.active = function(cmd)
|
||||||
{
|
{
|
||||||
|
@ -18,12 +18,14 @@ function Surface(rune)
|
|||||||
this.resize(cmd.rect(),cmd.position());
|
this.resize(cmd.rect(),cmd.position());
|
||||||
ronin.overlay.resize(cmd.rect());
|
ronin.overlay.resize(cmd.rect());
|
||||||
}
|
}
|
||||||
|
|
||||||
if(cmd.color()){
|
if(cmd.color()){
|
||||||
this.context().beginPath();
|
this.context().beginPath();
|
||||||
this.context().rect(0, 0, this.active_layer.element.width, this.active_layer.element.height);
|
this.context().rect(0, 0, this.active_layer.element.width, this.active_layer.element.height);
|
||||||
this.context().fillStyle = cmd.color().hex;
|
this.context().fillStyle = cmd.color().hex;
|
||||||
this.context().fill();
|
this.context().fill();
|
||||||
}
|
}
|
||||||
|
|
||||||
if(cmd.bang() && Object.keys(ronin.surface.layers).length > 1){
|
if(cmd.bang() && Object.keys(ronin.surface.layers).length > 1){
|
||||||
delete this.layers[this.active_layer.name];
|
delete this.layers[this.active_layer.name];
|
||||||
this.select_any_layer();
|
this.select_any_layer();
|
||||||
|
Loading…
x
Reference in New Issue
Block a user