UNPKG

molstar

Version:

A comprehensive macromolecular library.

46 lines 1.7 kB
"use strict"; /** * Copyright (c) 2019-2021 mol* contributors, licensed under MIT, See LICENSE file for more info. * * @author Alexander Rose <alexander.rose@weirdbyte.de> */ Object.defineProperty(exports, "__esModule", { value: true }); exports.PixelData = void 0; var PixelData; (function (PixelData) { function create(array, width, height) { return { array: array, width: width, height: height }; } PixelData.create = create; /** horizontally flips the pixel data in-place */ function flipY(pixelData) { var array = pixelData.array, width = pixelData.width, height = pixelData.height; var width4 = width * 4; for (var i = 0, maxI = height / 2; i < maxI; ++i) { for (var j = 0, maxJ = width4; j < maxJ; ++j) { var index1 = i * width4 + j; var index2 = (height - i - 1) * width4 + j; var tmp = array[index1]; array[index1] = array[index2]; array[index2] = tmp; } } return pixelData; } PixelData.flipY = flipY; /** to undo pre-multiplied alpha */ function divideByAlpha(pixelData) { var array = pixelData.array; var factor = (array instanceof Uint8Array) ? 255 : 1; for (var i = 0, il = array.length; i < il; i += 4) { var a = array[i + 3] / factor; array[i] /= a; array[i + 1] /= a; array[i + 2] /= a; } return pixelData; } PixelData.divideByAlpha = divideByAlpha; })(PixelData || (PixelData = {})); exports.PixelData = PixelData; //# sourceMappingURL=image.js.map