update at 2026-02-08 18:28:39

This commit is contained in:
douboer
2026-02-08 18:28:39 +08:00
parent e2a46e413a
commit 0f5a7f0d85
97 changed files with 22029 additions and 59 deletions

59
convert-icons.js Normal file
View File

@@ -0,0 +1,59 @@
#!/usr/bin/env node
const fs = require('fs');
const path = require('path');
const { execSync } = require('child_process');
// 检查是否安装了 sharp
try {
require.resolve('sharp');
} catch (e) {
console.log('正在安装 sharp...');
execSync('npm install sharp', { stdio: 'inherit', cwd: __dirname });
}
const sharp = require('sharp');
const iconsDir = path.join(__dirname, 'miniprogram', 'assets', 'icons');
const svgFiles = [
'font-size-decrease',
'font-size-increase',
'choose-color',
'export',
'export-svg',
'export-png',
'font-icon',
'expand',
'selectall',
'unselectall',
'checkbox'
];
async function convertSvgToPng() {
console.log('开始转换 SVG 为 PNG...\n');
for (const name of svgFiles) {
const svgPath = path.join(iconsDir, `${name}.svg`);
const pngPath = path.join(iconsDir, `${name}.png`);
if (!fs.existsSync(svgPath)) {
console.log(`⚠️ ${name}.svg 不存在,跳过`);
continue;
}
try {
await sharp(svgPath, { density: 300 })
.resize(128, 128, { fit: 'contain', background: { r: 0, g: 0, b: 0, alpha: 0 } })
.png()
.toFile(pngPath);
console.log(`${name}.svg -> ${name}.png`);
} catch (error) {
console.error(`❌ 转换 ${name}.svg 失败:`, error.message);
}
}
console.log('\n转换完成');
}
convertSvgToPng().catch(console.error);