Maison  >  Article  >  interface Web  >  Comment faire une capture d'écran avec Electron

Comment faire une capture d'écran avec Electron

DDD
DDDoriginal
2024-08-13 13:39:20365parcourir

Cet article explique comment capturer des captures d'écran dans les applications Electron. Il couvre la prise de captures d'écran d'une fenêtre ou d'une région spécifique, l'obtention d'une capture d'écran de tout l'écran à l'exclusion du cadre de la fenêtre, ainsi que les méthodes de sauvegarde ou de partage de l'image capturée

Comment faire une capture d'écran avec Electron

Comment prendre des captures d'écran dans Electron

1. Comment prendre des captures d'écran d'une fenêtre ou d'une région spécifique dans une application Electron ?

Dans Electron, vous pouvez capturer des captures d'écran d'une fenêtre ou d'une région spécifique à l'aide de la méthode screenshot. Voici comment procéder :screenshot method. Here's how you do it:

<code class="js">const { BrowserWindow } = require('electron');

const window = new BrowserWindow({ width: 800, height: 600 });

window.capturePage((image) => {
  // Save the image to a file or share it using an appropriate platform-specific method.
});</code>

For taking screenshots of a specific region, use the capturePage function with non-default options:

<code class="js">const options = {
  x: 0,
  y: 0,
  width: 200,
  height: 100
};

window.capturePage(options, (image) => {
  // ...
});</code>

2. How to Get a Screenshot of the Entire Screen Excluding the Window Frame in Electron App?

To capture a screenshot of the entire screen excluding the window frame in Electron, create a new window without a frame and capture the screen:

<code class="js">const { BrowserWindow } = require('electron');

const window = new BrowserWindow({ frame: false, show: false });

window.capturePage((image) => {
  // ...
});</code>

The frame: false option ensures that the window doesn't have a border or title bar, resulting in a screenshot that only includes the screen content.

3. How to Save or Share a Screenshot in Electron App?

Once you have the screenshot image

<code class="js">const fs = require('fs');

fs.writeFile('my-screenshot.png', image.toPNG(), (err) => {
if (err) {
  console.log('Error saving the screenshot:', err);
} else {
  console.log('Screenshot saved successfully');
}
});</code>
Pour prendre des captures d'écran d'une région spécifique, utilisez la fonction capturePage avec des options autres que celles par défaut :
    <code class="js">const dialog = require('electron').dialog;
    
    dialog.showSaveDialog(window, {
    title: 'Save screenshot',
    filters: [
      {
        name: 'PNG Images',
        extensions: ['png']
      }
    ]
    }, (file) => {
    if (file) {
      fs.writeFile(file, image.toPNG(), (err) => {
        if (err) {
          console.log('Error saving the screenshot:', err);
        } else {
          console.log('Screenshot saved successfully');
        }
      });
    }
    });</code>
  • 2. Comment obtenir une capture d'écran de tout l'écran à l'exclusion du cadre de la fenêtre dans l'application Electron ?

    Pour capturer une capture d'écran de tout l'écran à l'exclusion du cadre de la fenêtre dans Electron, créez une nouvelle fenêtre sans cadre et capturez l'écran :
  • rrreee
  • L'option frame: false garantit que la fenêtre n'a pas de bordure ou de barre de titre, ce qui donne une capture d'écran qui inclut uniquement le contenu de l'écran.

    3. Comment enregistrer ou partager une capture d'écran dans l'application Electron ?

  • Une fois que vous avez l'image de la capture d'écran, vous pouvez l'enregistrer dans un fichier ou la partager à l'aide de méthodes spécifiques à la plate-forme. Voici des exemples :🎜🎜🎜🎜🎜Enregistrement de la capture d'écran dans un fichier :🎜🎜rrreee🎜🎜🎜🎜Partage de la capture d'écran à l'aide d'une boîte de dialogue système :🎜🎜rrreee🎜🎜

    Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

    Déclaration:
    Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn