diff options
| author | Jules Laplace <jules@okfoc.us> | 2015-04-22 05:21:11 -0400 |
|---|---|---|
| committer | Jules Laplace <jules@okfoc.us> | 2015-04-22 05:21:11 -0400 |
| commit | bef106de9fa827d983fa319cecdf688c2822efb9 (patch) | |
| tree | d336ec726e97e5c19cb0dfee56d2bf4912d0db29 /fetch.js | |
smartblur convolution experiment
Diffstat (limited to 'fetch.js')
| -rw-r--r-- | fetch.js | 30 |
1 files changed, 30 insertions, 0 deletions
diff --git a/fetch.js b/fetch.js new file mode 100644 index 0000000..c6e0cdb --- /dev/null +++ b/fetch.js @@ -0,0 +1,30 @@ +function getNaturalDimensions (img) { + if (img.naturalWidth) { + return { naturalWidth: img.naturalWidth, naturalHeight: img.naturalHeight } + } + if (img.videoWidth) { + return { naturalWidth: img.videoWidth, naturalHeight: img.videoHeight } + } + return { naturalWidth: img.width, naturalHeight: img.height } +} +function fromImage (url, cb) { + var loaded = false + var img = new Image () + img.onload = function(){ + if (loaded) return + loaded = true + fromCanvas(img, cb) + } + if (img.src == url) { return img.onload() } + img.src = url + if (img.complete) { return img.onload() } +} +function fromCanvas (img, cb) { + var canvas = document.createElement("canvas") + var ctx = canvas.getContext('2d') + var dims = getNaturalDimensions(img) + canvas.width = dims.naturalWidth + canvas.height = dims.naturalHeight + ctx.drawImage(img,0,0,dims.naturalWidth,dims.naturalHeight,0,0,canvas.width,canvas.height) + cb(canvas) +} |
