electron - 电子图标
问题描述
我在 Electron 中更改图标时遇到问题。代码工作正常,但是当我添加 <<icon: "img/icon.png">> 行时,会生成一个空白程序(没有任何内容)。这是代码:
函数创建窗口(){
const win = new BrowserWindow({
width: 800,
height: 600,
webPreferences: {
devTools: false
},
icon: "img/icon.png"
});
win.setMenu(null);
win.loadFile('index.html');
win.webContents.openDevTools();
}
解决方案
要更改窗口的图标,请将其传递给BrowserWindow
构造函数并使用绝对路径进行简化
icon
(NativeImage | String) (可选) - 窗口图标。在 Windows 上,建议使用 ICO 图标以获得最佳视觉效果,您也可以将其保留为未定义,以便使用可执行文件的图标。
您将需要使用一些转换器来生成.ico
和.icns
文件。
let icon;
switch (process.platform) {
case 'win32': icon = path.resolve(__dirname, 'img', 'icon.ico'); break;
case 'darwin': icon = path.resolve(__dirname, 'img', 'icon.icns'); break;
case 'linux': icon = path.resolve(__dirname, 'img', 'icon.png'); break;
}
const win = new BrowserWindow({
width: 800,
height: 600,
webPreferences: {
devTools: false
},
icon
});
此外,您可以NativeImage
像这样创建:const icon = nativeImage.createFromPath(path.resolve(__dirname, 'img', 'icon.png'));
但是,您实际上不需要手动设置图标,electron 默认会使用可执行文件的图标。所以只需配置electron-packager
为使用正确的图标(添加packagerConfig: { icon: img/icon } }
和forge.config.js
放置icon.png
,icon.icns
然后icon.ico
进入img
目录)
推荐阅读
- reactjs - Redux saga - 错误绑定 - 将错误绑定到本地状态的适当方法
- node.js - Jimp:从 24 位 bmp 获取像素的 rgb 颜色
- asp.net - 服务器上的 .net 5.0 项目每隔几个小时启动一次,为什么?
- jetty - 如何使用 RSA 加密对 ActiveMQ Web 控制台(码头)进行加密?
- ms-access - 访问表达式,加一年,减一天
- varnish - 为 Varnish 安装 VMOD basic-auth
- c++ - C ++:对模板类型列表进行映射操作
- c# - FASTER 可以(轻松)用作 ACID 数据库吗?
- sql - 使用单个查询从两个表中获取行
- deep-learning - Yolo V3:图片中混合类时性能不佳