|
const { Canvas } = require('canvas-constructor'); |
|
const { promises: fs } = require('fs'); |
|
|
|
const flags = { |
|
pride: ["#E70000", "#FF8C00", "#FFEF00", "#00811F", "#0044FF", "#760089"], |
|
trans: ["#55CDFC", "#F7A8B8", "#FFFFFF", "#F7A8B8", "#55CDFC"], |
|
pan: ["#FF148C", "#FFDA00", "#05AEFF"], |
|
ace: ["#000000", "#A3A3A3", "#FFFFFF", "#800080"], |
|
nb: ["#FFF433", "#FFFFFF", "#9b59d0", "#000000"], |
|
bi: ["#D9006F", "#744D98", "#0033AB"], |
|
lesbian: ["#A40061", "#B75592", "#ECECEA", "#C44E55", "#8A1E04"], |
|
agender: ["#000000", "#FFFFFF", "#AFECB9", "#BBBBBB", "#000000"], |
|
}; |
|
|
|
const width = 500, height = 400; |
|
|
|
const processImage = (name) => { |
|
const c = new Canvas(width, height); |
|
const colors = flags[name]; |
|
const stripeHeight = height / colors.length + 1; |
|
for (let y = 0; y < colors.length; y++) { |
|
c.setColor(colors[y]); |
|
c.addRect(0, y * stripeHeight, width, y * stripeHeight + stripeHeight); |
|
} |
|
|
|
return c.toBufferAsync(); |
|
} |
|
|
|
const main = async () => { |
|
const keys = Object.keys(flags); |
|
for (const key of keys) { |
|
const buffer = await processImage(key); |
|
await fs.writeFile(`./flags/${key}.png`, buffer); |
|
} |
|
} |
|
|
|
main(); |