-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathgenerate-icons.js
More file actions
41 lines (33 loc) · 1023 Bytes
/
generate-icons.js
File metadata and controls
41 lines (33 loc) · 1023 Bytes
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
const { createCanvas } = require('canvas');
const fs = require('fs');
const path = require('path');
const sizes = [16, 48, 128];
function generateIcon(size) {
const canvas = createCanvas(size, size);
const ctx = canvas.getContext('2d');
// Background - dark blue
ctx.fillStyle = '#0F172A';
ctx.beginPath();
ctx.arc(size/2, size/2, size/2, 0, Math.PI * 2);
ctx.fill();
// Rocket emoji approximation
ctx.fillStyle = '#10B981';
ctx.font = `bold ${size * 0.5}px Arial`;
ctx.textAlign = 'center';
ctx.textBaseline = 'middle';
ctx.fillText('🚀', size/2, size/2);
return canvas.toBuffer('image/png');
}
// Ensure icons directory exists
const iconsDir = path.join(__dirname, 'icons');
if (!fs.existsSync(iconsDir)) {
fs.mkdirSync(iconsDir);
}
// Generate icons
sizes.forEach(size => {
const buffer = generateIcon(size);
const filename = path.join(iconsDir, `icon${size}.png`);
fs.writeFileSync(filename, buffer);
console.log(`Generated ${filename}`);
});
console.log('Done!');