Refactoring
This commit is contained in:
parent
4e1839eaf3
commit
4ec247d6ce
|
@ -131,35 +131,43 @@ define([
|
||||||
};
|
};
|
||||||
|
|
||||||
this.openBinary = function(arrayBuffer) {
|
this.openBinary = function(arrayBuffer) {
|
||||||
|
|
||||||
|
//var t1 = performance.now();
|
||||||
|
|
||||||
var binaryAlpha = new Uint8Array(arrayBuffer);
|
var binaryAlpha = new Uint8Array(arrayBuffer);
|
||||||
this.width = (binaryAlpha[0] << 24) | (binaryAlpha[1] << 16) | (binaryAlpha[2] << 8) | (binaryAlpha[3] << 0);
|
this.width = (binaryAlpha[0] << 24) | (binaryAlpha[1] << 16) | (binaryAlpha[2] << 8) | (binaryAlpha[3] << 0);
|
||||||
this.heightOne = (binaryAlpha[4] << 24) | (binaryAlpha[5] << 16) | (binaryAlpha[6] << 8) | (binaryAlpha[7] << 0);
|
this.heightOne = (binaryAlpha[4] << 24) | (binaryAlpha[5] << 16) | (binaryAlpha[6] << 8) | (binaryAlpha[7] << 0);
|
||||||
this.count = (binaryAlpha[8] << 24) | (binaryAlpha[9] << 16) | (binaryAlpha[10] << 8) | (binaryAlpha[11] << 0);
|
this.count = (binaryAlpha[8] << 24) | (binaryAlpha[9] << 16) | (binaryAlpha[10] << 8) | (binaryAlpha[11] << 0);
|
||||||
this.height = this.count * this.heightOne;
|
this.height = this.count * this.heightOne;
|
||||||
|
|
||||||
this.data = new Uint8ClampedArray(4 * this.width * this.height);
|
this.data = new Uint8ClampedArray(4 * this.width * this.height);
|
||||||
|
|
||||||
var binaryIndex = 12;
|
var binaryIndex = 12;
|
||||||
var binaryLen = binaryAlpha.length;
|
var binaryLen = binaryAlpha.length;
|
||||||
var imagePixels = this.data;
|
var imagePixels = this.data;
|
||||||
var alphaIndex = 3;
|
var index = 0;
|
||||||
|
|
||||||
var len0 = 0;
|
var len0 = 0;
|
||||||
|
var tmpValue = 0;
|
||||||
while (binaryIndex < binaryLen) {
|
while (binaryIndex < binaryLen) {
|
||||||
imagePixels[alphaIndex] = binaryAlpha[binaryIndex];
|
tmpValue = binaryAlpha[binaryIndex++];
|
||||||
binaryIndex++;
|
if (0 == tmpValue) {
|
||||||
alphaIndex += 4;
|
len0 = binaryAlpha[binaryIndex++];
|
||||||
|
|
||||||
if (0 === binaryAlpha[binaryIndex - 1]) {
|
|
||||||
len0 = binaryAlpha[binaryIndex++] - 1;
|
|
||||||
|
|
||||||
while (len0 > 0) {
|
while (len0 > 0) {
|
||||||
len0--;
|
len0--;
|
||||||
imagePixels[alphaIndex] = 0;
|
imagePixels[index] = imagePixels[index + 1] = imagePixels[index + 2] = 255;
|
||||||
alphaIndex += 4;
|
imagePixels[index + 3] = 0; // this value is already 0.
|
||||||
|
index += 4;
|
||||||
}
|
}
|
||||||
|
} else {
|
||||||
|
imagePixels[index] = imagePixels[index + 1] = imagePixels[index + 2] = 255 - tmpValue;
|
||||||
|
imagePixels[index + 3] = tmpValue;
|
||||||
|
index += 4;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
//var t2 = performance.now();
|
||||||
|
//console.log(t2 - t1);
|
||||||
};
|
};
|
||||||
|
|
||||||
this.getImage = function(index, canvas, ctx) {
|
this.getImage = function(index, canvas, ctx) {
|
||||||
|
|
Loading…
Reference in a new issue