小编per*_*rgy的帖子

如何在 Electron.js 中保存画布上绘制的图像

我保存图像的代码是:

var fs = require('fs');
const dialog = require('electron').remote.dialog;
var canvasBuffer = require('electron-canvas-to-buffer');

dialog.showSaveDialog({title:'Testing a save dialog',defaultPath:'image.jpg'},saveCallback);

function saveCallback(filePath) {
  // as a buffer
  var buffer = canvasBuffer(canvas, 'image/png')
  // write canvas to file
  fs.writeFile('image.png', buffer, function (err) {
    throw err
  })
}
Run Code Online (Sandbox Code Playgroud)

我无法保存画布上绘制的图像

错误窗口显示

img.toPNG 不是函数

错误。

javascript node.js html5-canvas electron electron-builder

6
推荐指数
2
解决办法
5987
查看次数

如何与托盘菜单上的 Electron 单选按钮交互?

我正在使用 Electron,我正在为我的应用程序创建一个托盘图标。Electron 自己的文档(https://electronjs.org/docs/api/tray#tray-popupcontextmenu-position-os-x-windows)显示我可以使用以下代码在菜单上选择单选按钮:

  const {app, Menu, Tray} = require('electron')

  let tray = null
  app.on('ready', () => {
    tray = new Tray('/path/to/my/icon')
    const contextMenu = Menu.buildFromTemplate([
      {label: 'Item1', type: 'radio'},
      {label: 'Item2', type: 'radio'},
      {label: 'Item3', type: 'radio', checked: true},
      {label: 'Item4', type: 'radio'}
    ])
    tray.setToolTip('This is my application.')
    tray.setContextMenu(contextMenu)
  })
Run Code Online (Sandbox Code Playgroud)

这会创建按钮,但我在文档中找不到如何从这些按钮获取事件和读取数据的任何地方。如何?

electron

4
推荐指数
1
解决办法
1764
查看次数

关闭点击事件的电子应用程序

我看过Electron关于'无框窗口'的文档,但我似乎无法按下自己的工作来关闭应用程序......

任何帮助,将不胜感激!谢谢!

const electron = require('electron');
const url = require('url');
const path = require('path');

const {app, BrowserWindow} = electron;
let mainWindow;

// Listen for app to be ready
app.on('ready', function() {
  // create new window
  mainWindow = new BrowserWindow({width: 800, height: 600, frame: false});
  // Load html into window
  mainWindow.loadURL(url.format({
    pathname:path.join(__dirname,'main.html'),
    protocol: 'file:',
    slashes: true
  }));
  const closeApp = document.getElementById('closeApp');

  closeApp.addEventListener('click', () => {
    app.quit();
  });
});
Run Code Online (Sandbox Code Playgroud)
<!DOCTYPE html>
<html lang="en">
<head>
  <link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/4.7.0/css/font-awesome.min.css">
  <meta charset="UTF-8">
  <meta name="viewport" content="width=device-width, …
Run Code Online (Sandbox Code Playgroud)

javascript desktop-application atom-editor electron

2
推荐指数
1
解决办法
4359
查看次数