【发布时间】:2014-08-06 02:18:30
【问题描述】:
我正在尝试从 div 的内容中生成图像。不幸的是,它对我不起作用。我之所以要这样做,是因为我想将生成的图像作为 base64 字符串发送到打印机。
不管怎样,下面是我的代码:
var canvas = document.getElementById("canvas");
var ctx = canvas.getContext("2d");
var data = "data:image/svg+xml," +
"<svg xmlns='http://www.w3.org/2000/svg' width='300' height='250'>" +
"<foreignObject width='100%' height='100%'>" +
document.getElementById('receipt_wrapper').innerHTML +
"</foreignObject>" +
"</svg>";
var img = new Image();
img.src = data;
img.onload = function () { ctx.drawImage(img, 0, 0); };
var dataURL = canvas.toDataURL("image/png");
var imgBase64 = dataURL.replace(/^data:image\/(png|jpg);base64,/, "");
if (window.Android != undefined) {
Android.print(image);
}
画布中没有显示任何内容。我的代码有什么问题?
P.S:我在 Android 设备中运行此代码。
【问题讨论】:
标签: javascript html canvas svg