1 | "use strict"
|
2 |
|
3 | var ndarray = require("ndarray")
|
4 | var ops = require("ndarray-ops")
|
5 |
|
6 | module.exports = function getPixels(url, cb) {
|
7 | var img = new Image()
|
8 | img.onload = function() {
|
9 | var canvas = document.createElement("canvas")
|
10 | canvas.width = img.width
|
11 | canvas.height = img.height
|
12 | var context = canvas.getContext("2d")
|
13 | context.drawImage(img)
|
14 | var pixels = context.getImageData(0, 0, img.width, img.height)
|
15 | var buffer = ndarray.zeros([img.width, img.height, 4], "uint8", [1, 2, 0])
|
16 | ops.assign(buffer, ndarray.ctor(pixels.data, [img.width, img.height, 4], [4, img.width, 1], 0))
|
17 | cb(null, buffer)
|
18 | }
|
19 | img.onerror = function(err) {
|
20 | cb(err)
|
21 | }
|
22 | img.src = url
|
23 | }
|