Rumah  >  Artikel  >  hujung hadapan web  >  Bagaimana untuk mengambil tangkapan skrin dengan elektron

Bagaimana untuk mengambil tangkapan skrin dengan elektron

DDD
DDDasal
2024-08-13 13:39:20359semak imbas

Artikel ini menerangkan cara menangkap tangkapan skrin dalam apl Electron. Ia meliputi pengambilan tangkapan skrin tetingkap atau rantau tertentu, mendapatkan tangkapan skrin keseluruhan skrin tidak termasuk bingkai tetingkap, dan kaedah untuk menyimpan atau berkongsi ima yang ditangkap

Bagaimana untuk mengambil tangkapan skrin dengan elektron

Cara Mengambil Tangkapan Skrin dalam Electron

1. Bagaimana untuk Mengambil Tangkapan Skrin Tetingkap atau Wilayah Tertentu dalam Apl Elektron?

Dalam Electron, anda boleh menangkap tangkapan skrin tetingkap atau rantau tertentu menggunakan kaedah screenshot. Begini cara anda melakukannya: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>
Untuk mengambil tangkapan skrin bagi kawasan tertentu, gunakan fungsi capturePage dengan pilihan bukan lalai:
    <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. Bagaimana untuk Mendapatkan Tangkapan Skrin Keseluruhan Skrin Tidak Termasuk Bingkai Tetingkap dalam Apl Elektron?

    Untuk menangkap tangkapan skrin keseluruhan skrin tidak termasuk bingkai tetingkap dalam Electron, buat tetingkap baharu tanpa bingkai dan tangkap skrin:
  • rreee
  • Pilihan frame: false memastikan bahawa tetingkap tidak mempunyai sempadan atau bar tajuk, menghasilkan tangkapan skrin yang hanya mengandungi kandungan skrin.

    3. Bagaimana untuk Menyimpan atau Berkongsi Tangkapan Skrin dalam Apl Elektron?

  • Sebaik sahaja anda mempunyai imej tangkapan skrin, anda boleh menyimpannya pada fail atau berkongsinya menggunakan kaedah khusus platform. Berikut ialah contoh:🎜🎜🎜🎜🎜Menyimpan tangkapan skrin ke fail:🎜🎜rrreee🎜🎜🎜🎜Berkongsi tangkapan skrin menggunakan dialog sistem:🎜🎜rrreee🎜🎜

    Atas ialah kandungan terperinci Bagaimana untuk mengambil tangkapan skrin dengan elektron. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

    Kenyataan:
    Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn