如何为你的电子应用程序设置应用程序图标?
我正在尝试BrowserWindow({icon:'path/to/image.png'});,但它不工作。
BrowserWindow({icon:'path/to/image.png'});
我是否需要打包应用才能看到效果?
在创建BrowserWindow时设置icon属性仅在Windows和Linux上有效。
BrowserWindow
icon
要在OS X上设置图标,可以使用electron-packager并使用--icon开关设置图标。
--icon
对于OS x,它需要是。icns格式。有一个在线图标转换器可以从你的。png创建这个文件。
下面是我的解决方案:
new BrowserWindow({ width: 800, height: 600, icon: __dirname + '/Bluetooth.ico', })
**
你也可以在macOS上这么做。好的,不是通过代码,而是通过一些简单的步骤:
实际上,这是一个普遍的现象,并不局限于电子。你可以像这样更改许多macOS应用程序的图标。
如果你想在任务栏中更新应用图标,那么在main.js中更新(如果使用typescript则是main.ts)
win.setIcon(path.join(__dirname, '/src/assets/logo-small.png'));
__dirname指向应用程序的根目录(与package.json相同的目录)。
__dirname
package.json
请注意,图标文件路径的例子倾向于假设main.js在基本目录下。如果文件不在应用程序的基本目录中,路径规范必须说明这一事实。
例如,如果main.js在src/子目录下,而图标在assets/icons/下,这个图标路径规范将工作:
icon: __dirname + "../assets/icons/icon.png"
电子<3.0版本。更新package.json:
"build": { "appId": "com.my-website.my-app", "productName": "MyApp", "copyright": "Copyright © 2019 ${author}", "mac": { "icon": "./public/icons/mac/icon.icns", <---------- set Mac Icons "category": "public.app-category.utilities" }, "win": { "icon": "./public/icons/png/256x256.png" <---------- set Win Icon }, "files": [ "./build/**/*", "./dist/**/*", "./node_modules/**/*", "./public/**/*", <---------- need for get access to icons "*.js" ], "directories": { "buildResources": "public" <---------- folder where placed icons } },
new BrowserWindow()
要在OS X上使用electron-packager设置图标,请使用——icon开关设置图标。
electron-packager
build
.icns
icon.icns
electron-builder --dir
您将发现应用程序图标将自动从该目录位置提取,并在打包时用于应用程序。
请注意:给出的答案是针对electron-builder的最新版本,并使用electron-builder v21.2.0进行测试
electron-builder
对于windows使用资源黑客
下载和安装::D
http://www.angusj.com/resourcehacker/
你应该构建应用程序
win = new BrowserWindow({width: 1000, height: 1000,icon: __dirname + '/logo.png'}); //*.png or *.ico will also work
对我来说,它起作用了!
如果您正在将现有的web应用程序转换为Electron应用程序,您可以使用以下代码:
const path = require('path') const mainWindow = new BrowserWindow({ icon: path.join(__dirname, 'favicon.ico'), })
在我的例子中,我不需要指定任何路径,例如./,因为我使用build目录,这是我的配置:
./
"build": { "directories":{ "output": "build" }, "mac": { "icon": "build/logo.icns" }, "win": { "icon": "build/logo.png" } }
我发现使用./logo.png将使电子显示相同的错误:
./logo.png
default Electron icon is used reason=application icon is not set
在Linux中,您可以在项目目录中搜索icon.png,并使用您的自定义图标(具有相同的名称)更改两个文件(一个用于Debian,一个用于Redhat)。
electron-packager . appname--platform=win32 --arch=x64 --overwrite --icon=icons/icon.ico --out=release-builds
图标会一直被缓存,所以使用——out标志会有所帮助。