0

J'utilise NW.JS avec les dernières fonctionnalités de l'API Chrome Apps. Dans mon application, J'ai besoin de prendre une capture d'écran du bureau de l'utilisateur à un fichier PNG afin que je puisse échantillonner la couleur de cette image enregistrée. J'ai remarqué une fonction chrome.desktopCapture dans l'API Chrome, mais tous les exemples que j'ai essayés consistaient à capturer et diffuser son bureau sur le réseau et pas simplement enregistrer une image du bureau. Est-il possible de le faire avec cette API ou toute autre fonction de l'API Chrome?NW.JS - Comment utiliser chrome.desktopCapture pour enregistrer simplement une capture d'écran PNG du bureau de l'utilisateur?

+0

Il n'y a pas cette API pour [chrome ** apps **] (https: // développeur. chrome.com/apps/api_index). Pourquoi la question porte-t-elle la balise 'google-chrome-extension'? – wOxxOm

+0

On dirait un peu idiot qu'il n'y a pas une telle fonction pour une simple capture d'écran et il y en a une pour diffuser l'image de votre écran. Je suppose que je suis à court d'options là-bas. De plus, il a été étiqueté google-chrome-extension car NW.JS supporte aussi certaines API (pas sûr qu'il y ait une fonction à la place). – user780756

Répondre

0

Vous pouvez faire quelque chose comme ça

var win = nw.Window.get(); 
var fs = require('fs'); 

win.capturePage(function(buffer) { 
    fs.writeFile(process.cwd() + '/screenshot.png', buffer, function (err) { 
     if (err) { 
      console.error(err); 
     } 

     console.log('Image is saved'); 
    }); 
}, { format : 'png', datatype : 'buffer'}); 

Ou mieux serait d'utiliser https://github.com/fweinb/node-webkit-screenshot module pour ce

+0

Ceci capture la fenêtre et non le bureau. Le module node-webkit-screenshot semble également capturer uniquement les URL distantes. – user780756