LoginSignup
5
4

More than 5 years have passed since last update.

atom-shellでWebサイトのスクリーンショットを撮る

Last updated at Posted at 2015-04-11

atom-shell v0.22.3で、マニュアルを見ながら、Webサイトのスクリーンショットを撮ろうと思ったのですが、マニュアルがまだ更新されてないらしく、エラーになったので調査して修正したサンプルを作ってみました。

正しく動くサンプル

// 変数などの宣言
var TARGET_URL = "https://atom.io";

// モジュールの取り込み
var app = require('app');
var BrowserWindow = require('browser-window');
var fs = require('fs');

// メインウインドウを起動
var win = null;
app.on('ready', function(){
  win = new BrowserWindow({width:1024, height:800});
  win.loadUrl(TARGET_URL);
  // ページがロード完了したらキャプチャする
  win.webContents.on('did-finish-load',capture);
});
// キャプチャ処理
function capture() {
  win.capturePage(function(img) {
    console.log(img);
    fs.writeFileSync('screenshot.png', img.toPng());
  });
}

ちなみに、動かなかったのはマニュアルの「remote.md」の中の、スクリーンキャプチャを撮るサンプルでした。(2015/04/11時点))

原因は、capturePageのコールバック関数の引数が、NativeImageになったからでした。toPng()メソッドで、PNGデータを返す必要があります。

5
4
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
5
4