Comparing version 0.3.6 to 0.3.7
@@ -70,2 +70,4 @@ /* -*- tab-width: 2; indent-tabs-mode: nil; c-basic-offset: 2 -*- / | ||
while (p.index > 0) { | ||
if (code.length === 0) | ||
throw new Error('Could not recreate Huffman Table'); | ||
p = code.pop(); | ||
@@ -919,3 +921,3 @@ } | ||
}, | ||
copyToImageData: function copyToImageData(imageData) { | ||
copyToImageData: function copyToImageData(imageData, formatAsRGBA) { | ||
var width = imageData.width, height = imageData.height; | ||
@@ -935,3 +937,5 @@ var imageDataArray = imageData.data; | ||
imageDataArray[j++] = Y; | ||
imageDataArray[j++] = 255; | ||
if (formatAsRGBA) { | ||
imageDataArray[j++] = 255; | ||
} | ||
} | ||
@@ -950,3 +954,5 @@ } | ||
imageDataArray[j++] = B; | ||
imageDataArray[j++] = 255; | ||
if (formatAsRGBA) { | ||
imageDataArray[j++] = 255; | ||
} | ||
} | ||
@@ -970,3 +976,5 @@ } | ||
imageDataArray[j++] = B; | ||
imageDataArray[j++] = 255; | ||
if (formatAsRGBA) { | ||
imageDataArray[j++] = 255; | ||
} | ||
} | ||
@@ -988,3 +996,5 @@ } | ||
useTArray: false, | ||
colorTransform: true | ||
// "undefined" means "Choose whether to transform colors based on the image’s color model." | ||
colorTransform: undefined, | ||
formatAsRGBA: true | ||
}; | ||
@@ -997,3 +1007,5 @@ if (opts) { | ||
colorTransform: (typeof opts.colorTransform === 'undefined' ? | ||
defaultOpts.colorTransform : opts.colorTransform) | ||
defaultOpts.colorTransform : opts.colorTransform), | ||
formatAsRGBA: (typeof opts.formatAsRGBA === 'undefined' ? | ||
defaultOpts.formatAsRGBA : opts.formatAsRGBA) | ||
}; | ||
@@ -1014,13 +1026,24 @@ } else { | ||
var image = { | ||
width: decoder.width, | ||
height: decoder.height, | ||
data: opts.useTArray ? | ||
new Uint8Array(decoder.width * decoder.height * 4) : | ||
new Buffer(decoder.width * decoder.height * 4) | ||
}; | ||
var channels = (opts.formatAsRGBA) ? 4 : 3; | ||
var bytesNeeded = decoder.width * decoder.height * channels; | ||
try { | ||
var image = { | ||
width: decoder.width, | ||
height: decoder.height, | ||
data: opts.useTArray ? | ||
new Uint8Array(bytesNeeded) : | ||
new Buffer(bytesNeeded) | ||
}; | ||
} catch (err){ | ||
if (err instanceof RangeError){ | ||
throw new Error("Could not allocate enough memory for the image. " + | ||
"Required: " + bytesNeeded); | ||
} else { | ||
throw err; | ||
} | ||
} | ||
decoder.copyToImageData(image); | ||
decoder.copyToImageData(image, opts.formatAsRGBA); | ||
return image; | ||
} |
@@ -743,3 +743,5 @@ /* | ||
}; | ||
module.exports = encode; | ||
if (typeof module !== undefined) { | ||
module.exports = encode; | ||
} | ||
@@ -746,0 +748,0 @@ function encode(imgData, qu) { |
{ | ||
"name": "jpeg-js", | ||
"version": "0.3.6", | ||
"version": "0.3.7", | ||
"description": "A pure javascript JPEG encoder and decoder", | ||
@@ -5,0 +5,0 @@ "main": "index.js", |
@@ -73,2 +73,4 @@ # jpeg-js | ||
*/ | ||
// write to file | ||
fs.writeFileSync("image.jpg", jpegImageData.data); | ||
``` | ||
@@ -75,0 +77,0 @@ |
License Policy Violation
LicenseThis package is not allowed per your license policy. Review the package's license to ensure compliance.
Found 1 instance in 1 package
License Policy Violation
LicenseThis package is not allowed per your license policy. Review the package's license to ensure compliance.
Found 1 instance in 1 package
67109
1675
163