1 |
|
2 |
|
3 | const parseFont = require('./lib/parse-font')
|
4 |
|
5 | exports.parseFont = parseFont
|
6 |
|
7 | exports.createCanvas = function (width, height) {
|
8 | return Object.assign(document.createElement('canvas'), { width: width, height: height })
|
9 | }
|
10 |
|
11 | exports.createImageData = function (array, width, height) {
|
12 |
|
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 |
|
21 | exports.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 | }
|