pngjs/examples/fromdocs.js
2020-04-09 20:28:27 +02:00

22 lines
678 B
JavaScript

let fs = require("fs"),
PNG = require("../lib/png").PNG; // note require('pngjs') outside this project
fs.createReadStream("test/in/basi0g01.png")
.pipe(new PNG({}))
.on("parsed", function () {
for (let y = 0; y < this.height; y++) {
for (let x = 0; x < this.width; x++) {
let idx = (this.width * y + x) << 2;
// invert color
this.data[idx] = 255 - this.data[idx];
this.data[idx + 1] = 255 - this.data[idx + 1];
this.data[idx + 2] = 255 - this.data[idx + 2];
// and reduce opacity
this.data[idx + 3] = this.data[idx + 3] >> 1;
}
}
this.pack().pipe(fs.createWriteStream("out.png"));
});