png 转 ico 格式
npm install --save-dev png-to-ico
在 npm script 脚本中使用:
png-to-ico electron.png > app.ico
在 node.js 程序中使用:
const fs = require('fs');
const pngToIco = require('png-to-ico');
pngToIco('electron.png')
.then(buf => {
fs.writeFileSync('app.ico', buf);
})
.catch(console.error);
如果你想要自己定义icon文件中每个BMP文件的大小, 那么参数可以直接传数组:
pngToIco(['electron16x16.png', 'electron32x32.png'])
.then(buf => {
fs.writeFileSync('app.ico', buf);
});
给基于 electron 的程序生成图标没有什么好用的工具,大多数工具只给你转一种大小的图标。
这样就会经常出现大图标模糊或者 electron 程序运行时左上角的图标还是默认的无图标的情况。
我想拥有一个像 visual studio 里面给 .NET 程序打包工具那样会自动生成各种大小的图标工具,而且必须是 JS 的。
所以就有了基于 pngjs 这个没有 c++ 模块依赖的 JS 图形处理库编写的 png-to-ico,这样作为 windows 用户的我再也不用和 c++ 模块做斗争了。