diff --git a/PNG.js b/PNG.js index b1e0f48..24b78d0 100644 --- a/PNG.js +++ b/PNG.js @@ -162,8 +162,18 @@ PNG.prototype.getPixel = function(x, y){ this.palette[pixels[i] * 3 + 1], this.palette[pixels[i] * 3 + 2], alpha]; - case 4: return [pixels[i], pixels[i], pixels[i], pixels[i + 1]]; - case 6: return [pixels[i], pixels[i + 1], pixels[i + 2], pixels[i + 3]]; + case 4: + if (this.bitDepth == 8) { + return [pixels[i], pixels[i], pixels[i], pixels[i + 1]]; + } else { + return [pixels[i + 1], pixels[i + 1], pixels[i + 1], pixels[i + 3]]; + } + case 6: + if (this.bitDepth == 8) { + return [pixels[i], pixels[i + 1], pixels[i + 2], pixels[i + 3]]; + } else { + return [pixels[i + 1], pixels[i + 3], pixels[i + 5], pixels[i + 7]]; + } } };