|
@@ 3554-3579 (lines=26) @@
|
| 3551 |
|
/* |
| 3552 |
|
* processes 16 bit RGBA and grayscale + alpha images |
| 3553 |
|
*/ |
| 3554 |
|
if(img.bits === 16) { |
| 3555 |
|
|
| 3556 |
|
var pixels = new Uint32Array(img.decodePixels().buffer), |
| 3557 |
|
len = pixels.length, |
| 3558 |
|
imgData = new Uint8Array((len * (32 / img.pixelBitlength) ) * img.colors), |
| 3559 |
|
alphaData = new Uint8Array(len * (32 / img.pixelBitlength) ), |
| 3560 |
|
hasColors = img.colors > 1, |
| 3561 |
|
i = 0, n = 0, a = 0, pixel; |
| 3562 |
|
|
| 3563 |
|
while(i < len) { |
| 3564 |
|
pixel = pixels[i++]; |
| 3565 |
|
|
| 3566 |
|
imgData[n++] = (pixel >>> 0) & 0xFF; |
| 3567 |
|
|
| 3568 |
|
if(hasColors) { |
| 3569 |
|
imgData[n++] = (pixel >>> 16) & 0xFF; |
| 3570 |
|
|
| 3571 |
|
pixel = pixels[i++]; |
| 3572 |
|
imgData[n++] = (pixel >>> 0) & 0xFF; |
| 3573 |
|
} |
| 3574 |
|
|
| 3575 |
|
alphaData[a++] = (pixel >>> 16) & 0xFF; |
| 3576 |
|
} |
| 3577 |
|
|
| 3578 |
|
bpc = 8; |
| 3579 |
|
} |
| 3580 |
|
|
| 3581 |
|
if(canCompress(compression)) { |
| 3582 |
|
|
|
@@ 3527-3549 (lines=23) @@
|
| 3524 |
|
/* |
| 3525 |
|
* processes 8 bit RGBA and grayscale + alpha images |
| 3526 |
|
*/ |
| 3527 |
|
if(img.bits === 8) { |
| 3528 |
|
|
| 3529 |
|
var pixelsArrayType = window['Uint' + img.pixelBitlength + 'Array'], |
| 3530 |
|
pixels = new pixelsArrayType(img.decodePixels().buffer), |
| 3531 |
|
len = pixels.length, |
| 3532 |
|
imgData = new Uint8Array(len * img.colors), |
| 3533 |
|
alphaData = new Uint8Array(len), |
| 3534 |
|
pDiff = img.pixelBitlength - img.bits, |
| 3535 |
|
i = 0, n = 0, pixel, pbl; |
| 3536 |
|
|
| 3537 |
|
for(; i < len; i++) { |
| 3538 |
|
pixel = pixels[i]; |
| 3539 |
|
pbl = 0; |
| 3540 |
|
|
| 3541 |
|
while(pbl < pDiff) { |
| 3542 |
|
|
| 3543 |
|
imgData[n++] = ( pixel >>> pbl ) & 0xff; |
| 3544 |
|
pbl = pbl + img.bits; |
| 3545 |
|
} |
| 3546 |
|
|
| 3547 |
|
alphaData[i] = ( pixel >>> pbl ) & 0xff; |
| 3548 |
|
} |
| 3549 |
|
} |
| 3550 |
|
|
| 3551 |
|
/* |
| 3552 |
|
* processes 16 bit RGBA and grayscale + alpha images |