From 0840662789289ab340179feaa97a5406e88193d3 Mon Sep 17 00:00:00 2001 From: pliablepixels Date: Sat, 23 Jan 2016 15:38:10 -0500 Subject: #148 - event snapshot save Former-commit-id: d2c8a38a7a864bf5df1c87917ff359a827cc1382 --- www/js/ModalCtrl.js | 76 +++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 76 insertions(+) (limited to 'www/js') diff --git a/www/js/ModalCtrl.js b/www/js/ModalCtrl.js index 349a2ddc..39b5efe9 100644 --- a/www/js/ModalCtrl.js +++ b/www/js/ModalCtrl.js @@ -675,6 +675,82 @@ $scope.togglePresets = function() } }; + + + //----------------------------------------------------------------------- + // Saves a snapshot of the monitor image to phone storage + //----------------------------------------------------------------------- + + $scope.saveEventImageToPhone = function () { + $ionicLoading.show({ + template: "saving snapshot...", + noBackdrop: true, + duration: zm.httpTimeout + }); + + var curState = carouselUtils.getStop(); + carouselUtils.setStop(true); + + console.log ("Your index is " + $scope.mycarousel.index); + console.log ("Associated image is " + $scope.slides[$scope.mycarousel.index].img); + + ZMDataModel.zmDebug("ModalCtrl: SaveEventImageToPhone called"); + var canvas, context, imageDataUrl, imageData; + var loginData = ZMDataModel.getLogin(); + + var url = $scope.playbackURL+'/index.php?view=image&rand='+$rootScope.rand+"&path="+$scope.relativePath+$scope.slides[$scope.mycarousel.index].img; + + + ZMDataModel.zmLog ("File path to grab is " + url); + + var img = new Image(); + img.onload = function () { + // console.log("********* ONLOAD"); + canvas = document.createElement('canvas'); + canvas.width = img.width; + canvas.height = img.height; + context = canvas.getContext('2d'); + context.drawImage(img, 0, 0); + + imageDataUrl = canvas.toDataURL('image/jpeg', 1.0); + imageData = imageDataUrl.replace(/data:image\/jpeg;base64,/, ''); + + if ($rootScope.platformOS != "desktop") { + try { + + cordova.exec( + SaveSuccess, + SaveError, + 'Canvas2ImagePlugin', + 'saveImageDataToLibrary', [imageData] + ); + // carouselUtils.setStop(curState); + } catch (e) { + + SaveError(e.message); + // carouselUtils.setStop(curState); + } + } else { + + + var fname = $scope.relativePath+$scope.slides[$scope.mycarousel.index].img + ".png"; + fname = fname.replace(/\//,"-"); + fname = fname.replace(/\.jpg/,''); + + canvas.toBlob(function (blob) { + saveAs(blob, fname); + }); + } + }; + try { + img.src = url; + // console.log ("SAVING IMAGE SOURCE"); + } catch (e) { + SaveError(e.message); + + } + }; + -- cgit v1.2.3