screenshot plugin for cordova/phonegap
The Screenshot plugin allows your application to take screenshots of the current screen and save them into the phone.
install it via cordova cli
cordova plugin add https://github.com/gitawego/cordova-screenshot.git
notice: in iOS, only jpg format is supported in Android, the default WebView and Crosswalk are both supported
navigator.screenshot.save(function(error,res){ if(error){ console.error(error); }else{ console.log('ok',res.filePath); } });
take screenshot with jpg and custom quality
js navigator.screenshot.save(function(error,res){ if(error){ console.error(error); }else{ console.log('ok',res.filePath); } },'jpg',50);
define a filename
js navigator.screenshot.save(function(error,res){ if(error){ console.error(error); }else{ console.log('ok',res.filePath); //should be path/to/myScreenshot.jpg } },'jpg',50,'myScreenShot');
screenshot files are stored in /sdcard/Pictures for android.
take screenshot and get it as Data URI
js navigator.screenshot.URI(function(error,res){ if(error){ console.error(error); }else{ html = ''; document.body.innerHTML = html; } },50);
.service('$cordovaScreenshot', ['$q', function ($q){ return { capture: function (filename, extension, quality){ extension = extension || 'jpg'; quality = quality || '100';var defer = $q.defer(); navigator.screenshot.save(function (error, res){ if (error) { console.error(error); defer.reject(error); } else { console.log('screenshot saved in: ', res.filePath); defer.resolve(res.filePath); } }, extension, quality, filename); return defer.promise; } };
}])
add this line
in config.xml, see bugthis repo uses the MIT license