现在在使用HTML5 / CSS / Js的WP 8.1应用程序中,我可以绘制画布。我希望将此画布保存为手机中的jpg文件,如canvas.toDataURL()
或任何类似的方式。
那我怎么办呢?
谢谢你的阅读。
答案 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() {});
}