all files / src/imageLoader/colorSpaceConverters/ convertRGBColorByPlane.js

0% Statements 0/14
0% Branches 0/4
0% Functions 0/1
0% Lines 0/14
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22                                           
export default function (imageFrame, rgbaBuffer) {
  if (imageFrame === undefined) {
    throw new Error('decodeRGB: rgbBuffer must not be undefined');
  }
  if (imageFrame.length % 3 !== 0) {
    throw new Error('decodeRGB: rgbBuffer length must be divisible by 3');
  }
 
  const numPixels = imageFrame.length / 3;
  let rgbaIndex = 0;
  let rIndex = 0;
  let gIndex = numPixels;
  let bIndex = numPixels * 2;
 
  for (let i = 0; i < numPixels; i++) {
    rgbaBuffer[rgbaIndex++] = imageFrame[rIndex++]; // red
    rgbaBuffer[rgbaIndex++] = imageFrame[gIndex++]; // green
    rgbaBuffer[rgbaIndex++] = imageFrame[bIndex++]; // blue
    rgbaBuffer[rgbaIndex++] = 255; // alpha
  }
}