UNPKG

1.06 kBJavaScriptView Raw
1/* globals document, ImageData */
2
3const parseFont = require('./lib/parse-font')
4
5exports.parseFont = parseFont
6
7exports.createCanvas = function (width, height) {
8 return Object.assign(document.createElement('canvas'), { width: width, height: height })
9}
10
11exports.createImageData = function (array, width, height) {
12 // Browser implementation of ImageData looks at the number of arguments passed
13 switch (arguments.length) {
14 case 0: return new ImageData()
15 case 1: return new ImageData(array)
16 case 2: return new ImageData(array, width)
17 default: return new ImageData(array, width, height)
18 }
19}
20
21exports.loadImage = function (src, options) {
22 return new Promise(function (resolve, reject) {
23 const image = Object.assign(document.createElement('img'), options)
24
25 function cleanup () {
26 image.onload = null
27 image.onerror = null
28 }
29
30 image.onload = function () { cleanup(); resolve(image) }
31 image.onerror = function () { cleanup(); reject(new Error('Failed to load the image "' + src + '"')) }
32
33 image.src = src
34 })
35}