1234567891011121314151617181920212223242526272829303132333435 |
- /* globals document, ImageData */
- const parseFont = require('./lib/parse-font')
- exports.parseFont = parseFont
- exports.createCanvas = function (width, height) {
- return Object.assign(document.createElement('canvas'), { width: width, height: height })
- }
- exports.createImageData = function (array, width, height) {
- // Browser implementation of ImageData looks at the number of arguments passed
- switch (arguments.length) {
- case 0: return new ImageData()
- case 1: return new ImageData(array)
- case 2: return new ImageData(array, width)
- default: return new ImageData(array, width, height)
- }
- }
- exports.loadImage = function (src, options) {
- return new Promise(function (resolve, reject) {
- const image = Object.assign(document.createElement('img'), options)
- function cleanup () {
- image.onload = null
- image.onerror = null
- }
- image.onload = function () { cleanup(); resolve(image) }
- image.onerror = function () { cleanup(); reject(new Error('Failed to load the image "' + src + '"')) }
- image.src = src
- })
- }
|