如何在图片库WP app中使用HTML5将画布保存为图像文件?

时间:2015-04-18 09:02:01

标签: javascript html5-canvas windows-phone-8.1 winjs

现在在使用HTML5 / CSS / Js的WP 8.1应用程序中,我可以绘制画布。我希望将此画布保存为手机中的jpg文件,如canvas.toDataURL()或任何类似的方式。

那我怎么办呢?
谢谢你的阅读。

1 个答案:

答案 0 :(得分:0)

您可以使用以下内容:

 function(canvas,imgfilename ) {
      var fileStream, imgData;
      var Imaging = Windows.Graphics.Imaging;
      var localFolder = Windows.Storage.ApplicationData.current.localFolder;
      localFolder.createFileAsync(imgfilename, Windows.Storage.CreationCollisionOption.replaceExisting).then(function(file) {
           return file.openAsync(Windows.Storage.FileAccessMode.readWrite);
      }).then(function(stream) {
           fileStream = stream;
           var ctx = canvas.getContext('2d');
           imgData = ctx.getImageData(0, 0, ctrl.canvas.width, ctrl.canvas.height);
           return Imaging.BitmapEncoder.createAsync(Imaging.BitmapEncoder.jpegEncoderId, stream);
      }).then(function(encoder) {
           encoder.setPixelData(Imaging.BitmapPixelFormat.rgba8, Imaging.BitmapAlphaMode.straight, canvas.width, canvas.height, 96, 96, new Uint8Array(imgData.data));
           return encoder.flushAsync();
      }).done(function() {
           fileStream.close();
      }, function() {});
 }