mirror of
https://github.com/publiclab/image-sequencer.git
synced 2025-12-19 14:50:04 +01:00
add steps api functions (#293)
* add steps api functions Signed-off-by: tech4GT <varun.gupta1798@gmail.com> * optimize getHeight and getWidth Signed-off-by: tech4GT <varun.gupta1798@gmail.com> * add tests Signed-off-by: tech4GT <varun.gupta1798@gmail.com> * update tests Signed-off-by: tech4GT <varun.gupta1798@gmail.com>
This commit is contained in:
committed by
Jeffrey Warren
parent
56feb4c546
commit
10e47656a3
45
dist/image-sequencer.js
vendored
45
dist/image-sequencer.js
vendored
@@ -48280,7 +48280,7 @@ module.exports = function Dynamic(options, UI, util) {
|
|||||||
// save first image's pixels
|
// save first image's pixels
|
||||||
var priorStep = this.getStep(-2);
|
var priorStep = this.getStep(-2);
|
||||||
|
|
||||||
getPixels(priorStep.output.src, function (err, pixels) {
|
getPixels(priorStep.output.src, function(err, pixels) {
|
||||||
options.firstImagePixels = pixels;
|
options.firstImagePixels = pixels;
|
||||||
|
|
||||||
function changePixel(r2, g2, b2, a2, x, y) {
|
function changePixel(r2, g2, b2, a2, x, y) {
|
||||||
@@ -48302,7 +48302,7 @@ module.exports = function Dynamic(options, UI, util) {
|
|||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
// run PixelManipulatin on second image's pixels
|
// run PixelManipulatin on second image's pixels
|
||||||
return require('../_nomodule/PixelManipulation.js')(input, {
|
return require('../_nomodule/PixelManipulation.js')(input, {
|
||||||
output: output,
|
output: output,
|
||||||
changePixel: changePixel,
|
changePixel: changePixel,
|
||||||
@@ -50236,21 +50236,52 @@ module.exports = function GetFormat(src) {
|
|||||||
|
|
||||||
},{}],198:[function(require,module,exports){
|
},{}],198:[function(require,module,exports){
|
||||||
module.exports = {
|
module.exports = {
|
||||||
getPreviousStep : function () {
|
getPreviousStep: function() {
|
||||||
return this.getStep(-1);
|
return this.getStep(-1);
|
||||||
},
|
},
|
||||||
|
|
||||||
getNextStep : function() {
|
getNextStep: function() {
|
||||||
return this.getStep(1);
|
return this.getStep(1);
|
||||||
},
|
},
|
||||||
|
|
||||||
getInput : function(offset){
|
getInput: function(offset) {
|
||||||
if(offset + this.getIndex() === 0) offset++;
|
if (offset + this.getIndex() === 0) offset++;
|
||||||
return this.getStep(offset - 1).output;
|
return this.getStep(offset - 1).output;
|
||||||
},
|
},
|
||||||
|
|
||||||
getOuput : function(offset){
|
getOutput: function(offset) {
|
||||||
return this.getStep(offset).output;
|
return this.getStep(offset).output;
|
||||||
|
},
|
||||||
|
|
||||||
|
getOptions: function() {
|
||||||
|
return this.getStep(0).options;
|
||||||
|
},
|
||||||
|
|
||||||
|
setOptions: function(optionsObj) {
|
||||||
|
let options = this.getStep(0).options;
|
||||||
|
for (let key in optionsObj) {
|
||||||
|
if (options[key]) options[key] = optionsObj[key];
|
||||||
|
}
|
||||||
|
},
|
||||||
|
|
||||||
|
getFormat: function() {
|
||||||
|
return this.getStep(-1).output.format;
|
||||||
|
},
|
||||||
|
|
||||||
|
getHeight: function(callback) {
|
||||||
|
let img = new Image();
|
||||||
|
img.onload = function() {
|
||||||
|
callback(img.height);
|
||||||
|
};
|
||||||
|
img.src = this.getInput(0).src;
|
||||||
|
},
|
||||||
|
|
||||||
|
getWidth: function(callback) {
|
||||||
|
let img = new Image();
|
||||||
|
img.onload = function() {
|
||||||
|
callback(img.width);
|
||||||
|
};
|
||||||
|
img.src = this.getInput(0).src;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
},{}]},{},[139]);
|
},{}]},{},[139]);
|
||||||
|
|||||||
2
dist/image-sequencer.min.js
vendored
2
dist/image-sequencer.min.js
vendored
File diff suppressed because one or more lines are too long
@@ -20,7 +20,7 @@ module.exports = function Dynamic(options, UI, util) {
|
|||||||
// save first image's pixels
|
// save first image's pixels
|
||||||
var priorStep = this.getStep(-2);
|
var priorStep = this.getStep(-2);
|
||||||
|
|
||||||
getPixels(priorStep.output.src, function (err, pixels) {
|
getPixels(priorStep.output.src, function(err, pixels) {
|
||||||
options.firstImagePixels = pixels;
|
options.firstImagePixels = pixels;
|
||||||
|
|
||||||
function changePixel(r2, g2, b2, a2, x, y) {
|
function changePixel(r2, g2, b2, a2, x, y) {
|
||||||
@@ -42,7 +42,7 @@ module.exports = function Dynamic(options, UI, util) {
|
|||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
// run PixelManipulatin on second image's pixels
|
// run PixelManipulatin on second image's pixels
|
||||||
return require('../_nomodule/PixelManipulation.js')(input, {
|
return require('../_nomodule/PixelManipulation.js')(input, {
|
||||||
output: output,
|
output: output,
|
||||||
changePixel: changePixel,
|
changePixel: changePixel,
|
||||||
|
|||||||
@@ -1,18 +1,49 @@
|
|||||||
module.exports = {
|
module.exports = {
|
||||||
getPreviousStep : function () {
|
getPreviousStep: function() {
|
||||||
return this.getStep(-1);
|
return this.getStep(-1);
|
||||||
},
|
},
|
||||||
|
|
||||||
getNextStep : function() {
|
getNextStep: function() {
|
||||||
return this.getStep(1);
|
return this.getStep(1);
|
||||||
},
|
},
|
||||||
|
|
||||||
getInput : function(offset){
|
getInput: function(offset) {
|
||||||
if(offset + this.getIndex() === 0) offset++;
|
if (offset + this.getIndex() === 0) offset++;
|
||||||
return this.getStep(offset - 1).output;
|
return this.getStep(offset - 1).output;
|
||||||
},
|
},
|
||||||
|
|
||||||
getOuput : function(offset){
|
getOutput: function(offset) {
|
||||||
return this.getStep(offset).output;
|
return this.getStep(offset).output;
|
||||||
|
},
|
||||||
|
|
||||||
|
getOptions: function() {
|
||||||
|
return this.getStep(0).options;
|
||||||
|
},
|
||||||
|
|
||||||
|
setOptions: function(optionsObj) {
|
||||||
|
let options = this.getStep(0).options;
|
||||||
|
for (let key in optionsObj) {
|
||||||
|
if (options[key]) options[key] = optionsObj[key];
|
||||||
|
}
|
||||||
|
},
|
||||||
|
|
||||||
|
getFormat: function() {
|
||||||
|
return this.getStep(-1).output.format;
|
||||||
|
},
|
||||||
|
|
||||||
|
getHeight: function(callback) {
|
||||||
|
let img = new Image();
|
||||||
|
img.onload = function() {
|
||||||
|
callback(img.height);
|
||||||
|
};
|
||||||
|
img.src = this.getInput(0).src;
|
||||||
|
},
|
||||||
|
|
||||||
|
getWidth: function(callback) {
|
||||||
|
let img = new Image();
|
||||||
|
img.onload = function() {
|
||||||
|
callback(img.width);
|
||||||
|
};
|
||||||
|
img.src = this.getInput(0).src;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -1,14 +1,27 @@
|
|||||||
module.exports = function testModule(options, UI) {
|
module.exports = function Dynamic(options, UI, util) {
|
||||||
|
// Tests for functions that are available inside modules only
|
||||||
|
|
||||||
var output;
|
var output;
|
||||||
|
|
||||||
|
// This function is called on every draw.
|
||||||
function draw(input, callback) {
|
function draw(input, callback) {
|
||||||
|
|
||||||
var output = function(input) {
|
var step = this;
|
||||||
return input;
|
|
||||||
|
if (this.getPreviousStep().options.name != "invert") throw new Error("getPreviousStep not working");
|
||||||
|
if (this.getNextStep().options.name != "invert") throw new Error("getNextStep not working");
|
||||||
|
if (this.getInput(0) != this.getOutput(-1)) throw new Error("getInput and getOuput now working")
|
||||||
|
if (this.getFormat() != "jpeg") throw new Error("getFormat not working");
|
||||||
|
if (this.getOptions().name != "test") throw new Error("getOptions not working");
|
||||||
|
this.setOptions({ name: "test-1" });
|
||||||
|
if (this.getOptions().name != "test-1") throw new Error("setOptions not working not working");
|
||||||
|
this.getHeight(((h) => { if (h != 16) throw new Error("getHeight not working") }));
|
||||||
|
this.getWidth((w) => { if (w != 16) throw new Error("getWidth not working") });
|
||||||
|
|
||||||
|
function output(image, datauri, mimetype) {
|
||||||
|
step.output = input;
|
||||||
}
|
}
|
||||||
|
|
||||||
this.output = output(input); // run the output and assign it to this.output
|
|
||||||
callback();
|
|
||||||
}
|
}
|
||||||
|
|
||||||
return {
|
return {
|
||||||
|
|||||||
@@ -1,5 +1,5 @@
|
|||||||
{
|
{
|
||||||
"name": "test",
|
"name": "test",
|
||||||
"description": "Outputs the same image.",
|
"description": "Functions that are scoped inside modules are tested with this. This Module is dynamically loaded.",
|
||||||
"inputs": {}
|
"inputs": {}
|
||||||
}
|
}
|
||||||
Reference in New Issue
Block a user