summaryrefslogtreecommitdiff
path: root/plugins/org.devgeeks.Canvas2ImagePlugin/src/wp8/Canvas2ImagePlugin.cs
diff options
context:
space:
mode:
authorPliablePixels <pliablepixels@gmail.com>2015-07-15 21:02:53 -0400
committerPliablePixels <pliablepixels@gmail.com>2015-07-15 21:02:53 -0400
commit03d5e38520e1779b807af95187782a27155372c8 (patch)
treea8feca72bb30113ca5c231fdb10f362f47b9a79d /plugins/org.devgeeks.Canvas2ImagePlugin/src/wp8/Canvas2ImagePlugin.cs
parent3dbe41f90b5e7058ec0fb5460516812143d4f254 (diff)
added plugin for save to camera roll
Diffstat (limited to 'plugins/org.devgeeks.Canvas2ImagePlugin/src/wp8/Canvas2ImagePlugin.cs')
-rw-r--r--plugins/org.devgeeks.Canvas2ImagePlugin/src/wp8/Canvas2ImagePlugin.cs49
1 files changed, 49 insertions, 0 deletions
diff --git a/plugins/org.devgeeks.Canvas2ImagePlugin/src/wp8/Canvas2ImagePlugin.cs b/plugins/org.devgeeks.Canvas2ImagePlugin/src/wp8/Canvas2ImagePlugin.cs
new file mode 100644
index 00000000..6376348c
--- /dev/null
+++ b/plugins/org.devgeeks.Canvas2ImagePlugin/src/wp8/Canvas2ImagePlugin.cs
@@ -0,0 +1,49 @@
+using Microsoft.Xna.Framework.Media;
+using System;
+using System.IO;
+using System.Text;
+using WPCordovaClassLib.Cordova;
+using WPCordovaClassLib.Cordova.Commands;
+using WPCordovaClassLib.Cordova.JSON;
+
+public class Canvas2ImagePlugin : BaseCommand
+{
+ public Canvas2ImagePlugin()
+ {
+ }
+
+ public void saveImageDataToLibrary(string jsonArgs)
+ {
+ try
+ {
+ var options = JsonHelper.Deserialize<string[]>(jsonArgs);
+
+ string imageData = options[0];
+ byte[] imageBytes = Convert.FromBase64String(imageData);
+
+ using (var imageStream = new MemoryStream(imageBytes))
+ {
+ imageStream.Seek(0, SeekOrigin.Begin);
+
+ string fileName = String.Format("c2i_{0:yyyyMMdd_HHmmss}", DateTime.Now);
+ var library = new MediaLibrary();
+ var picture = library.SavePicture(fileName, imageStream);
+
+ if (picture.Name.Contains(fileName))
+ {
+ DispatchCommandResult(new PluginResult(PluginResult.Status.OK,
+ "Image saved: " + picture.Name));
+ }
+ else
+ {
+ DispatchCommandResult(new PluginResult(PluginResult.Status.ERROR,
+ "Failed to save image: " + picture.Name));
+ }
+ }
+ }
+ catch (Exception ex)
+ {
+ DispatchCommandResult(new PluginResult(PluginResult.Status.ERROR, ex.Message));
+ }
+ }
+}