Div到位图图像? NodeJS / WinJS /什么?

有什么办法可以将div转换为用户可以保存的图像,而无需使用其他语言。 我到处寻找,但我似乎无法find任何方式呈现HTML位图,甚至不在nodeJS或WinJS。 有很多应用程序可以从中受益,任何理由为什么这不能没有服务器?

在Windows 8.1中,您可以使用其导航或navigateToString方法将HTML加载到x-ms-webview元素中 ,然后使用webview的capturePreviewToBlobAsync方法。 (如果你有一个div,你可能会得到它的innerHTMLstring,并传递给webview的navigateToString来加载该内容。)

请注意,这不是特别的WinJS,因为这是webview元素的一个特性。 所以它可能不是一个可移植到networking上的解决scheme。

无论如何,下面是我的免费电子书( 编程Windows商店应用程序使用HTML,CSS和JavaScript,第二版 )第4章中的代码片段,它将webview的内容捕获到位图中,然后显示在img元素中(请注意,为了方便起见,我将DOMasynchronous调用转换为WinJS承诺):

函数captureImage(){var webview = document.getElementById(“webview”);

  var promise = new WinJS.Promise(function (cd, ed) { var op = webview.capturePreviewToBlobAsync(); op.oncomplete = function (args) { cd(args.target.result); }; op.onerror = function (e) { ed(e); }; op.start(); }); promise.then(function (blob) { document.getElementById("imgOutput").src = URL.createObjectURL(blob, { oneTimeOnly : true }); }); } 

你可以做任何你想要的承诺提供的blob,例如写入文件,上传等,但这就是你如何得到在Win 8.1的渲染。