UNPKG

pixelbutler

Version:

Low-res bitmap render engine for big screens

39 lines (38 loc) 1.46 kB
'use strict'; var Bitmap = require('../core/Bitmap'); var ImageDataLoader = require('./ImageDataLoader'); var BitmapLoader = (function () { function BitmapLoader(url, useAlpha) { if (typeof useAlpha === "undefined") { useAlpha = false; } this.url = url; this.useAlpha = useAlpha; } BitmapLoader.prototype.load = function (callback) { var _this = this; new ImageDataLoader(this.url).load(function (err, image) { if (err) { callback(err, null); return; } if (_this.useAlpha) { callback(null, new Bitmap(image.width, image.height, true, image.data.buffer)); } else { var bitmap = new Bitmap(image.width, image.height, false); var data = image.data; var width = image.width; for (var iy = 0; iy < image.height; iy++) { for (var ix = 0; ix < width; ix++) { var read = (iy * width + ix) * 4; var write = (iy * width + ix) * 3; bitmap.data[write] = data[read]; bitmap.data[write + 1] = data[read + 1]; bitmap.data[write + 2] = data[read + 2]; } } callback(null, bitmap); } }); }; return BitmapLoader; })(); module.exports = BitmapLoader;