Encontré una biblioteca con archivos PNG para juegos de mazmorras en http://pousse.rapiere.free.fr/tome/ .
Pero el fondo de los mosaicos no es "transparente", es "#ff00ff" o blanco.
¿Cómo puedo reemplazar los colores fácilmente con rgba (0,0,0,0)? Podría cargar las imágenes en un lienzo HTML5 y reemplazar los colores allí, pero tal vez haya una manera mucho más fácil.
Bueno, acabo de encontrar la función replace-color y escribí una herramienta que actualiza todos los archivos PNG en una carpeta:
const fs = require('fs'); const path = require('path'); const replaceColor = require('replace-color'); function findPngFiles(dir) { var files = fs.readdirSync(dir); var pngFiles = []; for (let file of files) { file = path.join(dir, file); if (path.extname(file).toLowerCase() === '.png') { pngFiles.push(file); } if (fs.statSync(file).isDirectory()) { pngFiles = pngFiles.concat(findPngFiles(file)); } } return pngFiles; } async function updateImage(file) { replaceColor({ image: file, colors: { type: 'hex', targetColor: '#FF00FF', replaceColor: '#00000000' } }) .then((jimpObject) => { jimpObject.write(file, (err) => { if (err) return console.log(err); }); }) .catch((err) => { console.log(err); }); } const pngFiles = findPngFiles('./Items'); (async function updateFiles() { for(let file of pngFiles) { await updateImage(file); console.log(file); } })()