mirror of
https://github.com/danbulant/pngjs
synced 2026-05-27 22:02:22 +00:00
63 lines
1.6 KiB
JavaScript
63 lines
1.6 KiB
JavaScript
|
|
var fs = require('fs'),
|
|
PNG = require('../lib/png').PNG;
|
|
|
|
fs.readdir(__dirname + '/in/', function(err, files) {
|
|
if (err) throw err;
|
|
|
|
files.forEach(function(file) {
|
|
|
|
if (!file.match(/.*\.png$/i))
|
|
return;
|
|
|
|
var expectedError = false;
|
|
if (file.match(/^x/)) {
|
|
expectedError = true;
|
|
}
|
|
|
|
var data = fs.readFileSync(__dirname + '/in/' + file);
|
|
try {
|
|
var png = PNG.sync.read(data);
|
|
} catch (e) {
|
|
if (!expectedError) {
|
|
console.log("Unexpected error parsing.." + file);
|
|
console.log(e);
|
|
console.log(e.stack);
|
|
}
|
|
return;
|
|
}
|
|
|
|
if (expectedError) {
|
|
console.log("Error expected, parsed fine ..", file);
|
|
}
|
|
|
|
var outpng = new PNG();
|
|
PNG.adjustGamma(png);
|
|
outpng.data = png.data;
|
|
outpng.width = png.width;
|
|
outpng.height = png.height;
|
|
outpng.pack()
|
|
.pipe(fs.createWriteStream(__dirname + '/outsync/' + file));
|
|
|
|
fs.createReadStream(__dirname + '/in/' + file)
|
|
.pipe(new PNG())
|
|
.on('error', function(err) {
|
|
if (!expectedError) {
|
|
console.log("Error reading " + file, err);
|
|
}
|
|
})
|
|
.on('parsed', function() {
|
|
|
|
if (expectedError) {
|
|
console.log("Error expected, parsed fine", file);
|
|
}
|
|
|
|
this.adjustGamma();
|
|
|
|
this.pack()
|
|
.pipe(fs.createWriteStream(__dirname + '/out/' + file));
|
|
|
|
});
|
|
|
|
});
|
|
});
|