lite图片编译优化

Signed-off-by: fanjiaojiao <fanjiaojiao@huawei.com>
This commit is contained in:
fanjiaojiao
2022-08-31 15:46:04 +08:00
parent 531f3c0fed
commit 5576c29569
+16 -3
View File
@@ -16,6 +16,7 @@
const Jimp = require('jimp');
const fs = require('fs');
const _path = require('path');
const { readManifest} = require('../../main.product');
/**
* Find all image paths in png、jpg、bmp、jpeg format in the directory.
* @param {String} imgPath The path of build folder.
@@ -36,7 +37,12 @@ async function img2bin(imgPath) {
const HEIGHT_BIT_OFFSET = 16;
const header = (image.bitmap.width << WIDTH_BIT_OFFSET) +
(image.bitmap.height << HEIGHT_BIT_OFFSET);
process.env.aceManifestPath = process.env.aceManifestPath || path.resolve(process.env.projectPath, 'manifest.json');
const manifest = readManifest(process.env.aceManifestPath)
const version = parseInt(manifest.minPlatformVersion);
console.log(version)
let binFileOffset = 0;
binView.setUint32(binFileOffset, COLOR_MODE, true);
binFileOffset += 4;
@@ -64,8 +70,15 @@ async function img2bin(imgPath) {
binView.setUint8(binFileOffset, alpha, true);
binFileOffset += 1;
});
const binPath = imgPath.replace(/(\.png|\.jpg|\.bmp|\.jpeg|\.BMP|\.JPG|\.PNG|\.JPEG)$/, '.bin');
fs.writeFileSync(binPath, Buffer.from(binBuffer));
if (version <=6) {
const binPath1 = imgPath.replace(/(\.png|\.jpg|\.bmp|\.jpeg|\.BMP|\.JPG|\.PNG|\.JPEG)$/, '.bin');
fs.writeFileSync(binPath1, Buffer.from(binBuffer));
}
const binPath2 = imgPath+".bin";
fs.writeFileSync(binPath2, Buffer.from(binBuffer));
} catch (err) {
const imageName = _path.basename(imgPath);
console.error('\u001b[31m', `Failed to convert image ${imageName}.`, '\u001b[39m');