diff --git a/package.json b/package.json index de2721a..5f3f0e9 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "graphfx", - "version": "0.0.13", + "version": "0.0.15", "description": "Graph image processing pipeline", "main": "src/index.js", "scripts": { diff --git a/src/nodes/Canvas2d/EmptySpace.js b/src/nodes/Canvas2d/EmptySpace.js new file mode 100644 index 0000000..e97f171 --- /dev/null +++ b/src/nodes/Canvas2d/EmptySpace.js @@ -0,0 +1,69 @@ +import Canvas2d from './Canvas2d'; +import {createCanvas, mediaSize, paintToCanvas} from '../canvas'; + +export default class EmptySpace extends Canvas2d { + + constructor() { + super('EmptySpace', { + }, { + w: { + type: 'Number', + }, + h: { + type: 'Number', + }, + top: { + type: 'Number', + }, + right: { + type: 'Number', + }, + bottom: { + type: 'Number', + }, + left: { + type: 'Number', + } + }); + this._update(); + } + + async render({image}, canvas, ctx) { + if (!image) { + return; + } + let left = Infinity; + let right = -Infinity; + let top = Infinity; + let bottom = -Infinity; + + const {width, height} = mediaSize(image); + canvas.width = width; + canvas.height = height; + ctx.drawImage(image, 0, 0); + const imageData = ctx.getImageData(0, 0, width, height) + for (let offset=0; offset