UNPKG

image-in-browser

Version:

Package for encoding / decoding images, transforming images, applying filters, drawing primitives on images on the client side (no need for server Node.js)

66 lines 2.23 kB
import { ChannelOrder } from '../color/channel-order.js'; export function getImageDataBytes(data, opt) { var _a; const order = opt === null || opt === void 0 ? void 0 : opt.order; const inPlace = (_a = opt === null || opt === void 0 ? void 0 : opt.inPlace) !== null && _a !== void 0 ? _a : false; if (order === undefined) { return data.toUint8Array(); } if (data.numChannels === 4) { if (order === ChannelOrder.abgr || order === ChannelOrder.argb || order === ChannelOrder.bgra) { const tempImage = inPlace ? data : data.clone(); if (order === ChannelOrder.abgr) { for (const p of tempImage) { const r = p.r; const g = p.g; const b = p.b; const a = p.a; p.r = a; p.g = b; p.b = g; p.a = r; } } else if (order === ChannelOrder.argb) { for (const p of tempImage) { const r = p.r; const g = p.g; const b = p.b; const a = p.a; p.r = a; p.g = r; p.b = g; p.a = b; } } else if (order === ChannelOrder.bgra) { for (const p of tempImage) { const r = p.r; const g = p.g; const b = p.b; const a = p.a; p.r = b; p.g = g; p.b = r; p.a = a; } } return tempImage.toUint8Array(); } } else if (data.numChannels === 3) { if (order === ChannelOrder.bgr) { const tempImage = inPlace ? data : data.clone(); for (const p of tempImage) { const r = p.r; p.r = p.b; p.b = r; } return tempImage.toUint8Array(); } } return data.toUint8Array(); } //# sourceMappingURL=image-data.js.map