74 lines
1.5 KiB
JavaScript
74 lines
1.5 KiB
JavaScript
const fs = require("fs");
|
|
const path = require("path");
|
|
const sharp = require("sharp");
|
|
|
|
const originalFile =
|
|
"public/photos/Jessica/original/2021-Santarcangelo/IMG_20210602_100423.jpg";
|
|
|
|
const outputFile =
|
|
"public/cast/Jessica/photos/2021-Santarcangelo/IMG_20210602_100423_cast.jpg";
|
|
|
|
async function main() {
|
|
console.log("[TEST] Originale:");
|
|
console.log(originalFile);
|
|
|
|
if (!fs.existsSync(originalFile)) {
|
|
throw new Error("File originale non trovato");
|
|
}
|
|
|
|
await fs.promises.mkdir(
|
|
path.dirname(outputFile),
|
|
{
|
|
recursive: true,
|
|
}
|
|
);
|
|
|
|
const result = await sharp(originalFile, {
|
|
failOn: "none",
|
|
})
|
|
.rotate()
|
|
.resize({
|
|
width: 1920,
|
|
height: 1080,
|
|
fit: "inside",
|
|
withoutEnlargement: true,
|
|
})
|
|
.flatten({
|
|
background: {
|
|
r: 0,
|
|
g: 0,
|
|
b: 0,
|
|
},
|
|
})
|
|
.jpeg({
|
|
quality: 85,
|
|
progressive: true,
|
|
chromaSubsampling: "4:2:0",
|
|
optimiseCoding: true,
|
|
})
|
|
.toFile(outputFile);
|
|
|
|
console.log("");
|
|
console.log("[TEST] Cast creato:");
|
|
console.log(outputFile);
|
|
|
|
console.log("");
|
|
console.log("[TEST] Dimensioni:");
|
|
console.log(`${result.width}x${result.height}`);
|
|
|
|
console.log("");
|
|
console.log("[TEST] Bytes:");
|
|
console.log(result.size);
|
|
|
|
console.log("");
|
|
console.log("==========================");
|
|
console.log("TEST OK");
|
|
console.log("==========================");
|
|
}
|
|
|
|
main().catch((err) => {
|
|
console.error("");
|
|
console.error("TEST FALLITO");
|
|
console.error(err);
|
|
process.exit(1);
|
|
});
|