Nutritious Polygonal Meatball

    cordova-plugin-screenshot-mod

    1.3.6 • Public • Published

    cordova-screenshot

    NPM version

    The Screenshot plugin allows your application to take screenshots of the current screen and save them into the phone.

    how to install

    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

    usage

    navigator.screenshot.save(function(error,res){
      if(error){
        console.error(error);
      }else{
        console.log('ok',res.filePath);
      }
    });

    take screenshot with jpg and custom quality

    navigator.screenshot.save(function(error,res){
      if(error){
        console.error(error);
      }else{
        console.log('ok',res.filePath);
      }
    },'jpg',50);

    define a filename

    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

    navigator.screenshot.URI(function(error,res){
      if(error){
        console.error(error);
      }else{
        html = '<img style="width:50%;" src="'+res.URI+'">';
        document.body.innerHTML = html;
      }
    },50);

    usage in AngularJS

    .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;
            }
        };
    }])

    Known Issue

    in Android platform I receive the black image with crosswalk

    solution:

    add this line <preference name="CrosswalkAnimatable" value="true" /> in config.xml, see bug

    License

    this repo uses the MIT license

    Install

    npm i cordova-plugin-screenshot-mod

    DownloadsWeekly Downloads

    1

    Version

    1.3.6

    License

    MIT

    Unpacked Size

    37 kB

    Total Files

    11

    Last publish

    Collaborators

    • jaredliu2019