34 lines
1.0 KiB
JavaScript
34 lines
1.0 KiB
JavaScript
const fs = require('fs');
|
|
const { createCanvas } = require('canvas');
|
|
|
|
function generateIcon(size, outputPath) {
|
|
const canvas = createCanvas(size, size);
|
|
const ctx = canvas.getContext('2d');
|
|
|
|
// Copper background
|
|
ctx.fillStyle = '#B87333';
|
|
ctx.fillRect(0, 0, size, size);
|
|
|
|
// White text "CT"
|
|
ctx.fillStyle = 'white';
|
|
const fontSize = size * 0.45;
|
|
ctx.font = 'bold ' + fontSize + 'px Arial';
|
|
ctx.textAlign = 'center';
|
|
ctx.textBaseline = 'middle';
|
|
ctx.fillText('CT', size / 2, size / 2);
|
|
|
|
// Save to file
|
|
const buffer = canvas.toBuffer('image/png');
|
|
fs.writeFileSync(outputPath, buffer);
|
|
console.log('Generated: ' + outputPath);
|
|
}
|
|
|
|
const basePath = process.argv[2] || './frontend/public/img/icons';
|
|
|
|
generateIcon(192, basePath + '/android-chrome-192x192.png');
|
|
generateIcon(512, basePath + '/android-chrome-512x512.png');
|
|
generateIcon(192, basePath + '/android-chrome-maskable-192x192.png');
|
|
generateIcon(512, basePath + '/android-chrome-maskable-512x512.png');
|
|
|
|
console.log('All icons generated successfully!');
|