pngjs/examples/16bit_write.js
Zachary Holyszko 257a4c972d
fix(buffer): migrate to safe constructor methods (#134)
Co-authored-by: Zachary Holyszko <zholyszko@dmdconnects.com>
2020-04-09 15:48:18 +02:00

51 lines
No EOL
1.1 KiB
JavaScript

#!/usr/bin/env node
var fs = require('fs');
var PNG = require("../lib/png").PNG;
var w = 32;
var h = 64;
/// RGBA input (color type 6)
var buffer = Buffer.alloc(2 * w * h * 4);
var bitmap = new Uint16Array(buffer.buffer);
for (var i = 0; i < h; i++) {
for (var j = 0; j < w; j++) {
bitmap[i * 4 * w + 4*j] = i * 65535 / h;
bitmap[i * 4 * w + 4*j + 1] = j * 65535 / w;
bitmap[i * 4 * w + 4*j + 2] = (h-i) * 65535 / h;
bitmap[i * 4 * w + 4*j + 3] = 65535;
}
}
var png = new PNG({
width: w,
height:h,
bitDepth: 16,
colorType: 6,
inputColorType: 6,
inputHasAlpha: true
});
png.data = buffer;
png.pack().pipe(fs.createWriteStream('colortype6.png'));
//////// Grayscale 16 bits///////
var buffer = Buffer.alloc(2 * w * h);
var bitmap = new Uint16Array(buffer.buffer);
for (var i = 0; i < h; i++) {
for (var j = 0; j < w; j++)
bitmap[i * w + j] = i * 65535 / h;
}
png = new PNG({
width: w,
height:h,
bitDepth: 16,
colorType: 0,
inputColorType: 0,
inputHasAlpha: false
});
png.data = buffer;
png.pack().pipe(fs.createWriteStream('colortype0.png'));