有没有办法将画布元素作为图像添加到svg

时间:2013-07-11 18:02:44

标签: canvas svg d3.js

我在这里有一个jsfiddle:

http://jsfiddle.net/Gt7wQ/

我要做的是添加我刚刚绘制到svg板上的临时画布元素。 这可能吗?

我现在要做的是:

svg.append("image")
    .attr("xlink:href", temp_canvas)
    .attr("x", 0)
    .attr("y", 0);

由于

1 个答案:

答案 0 :(得分:1)

使用canvas元素上的toDataURL()生成data-uri

同时为d3 svg指定width和height属性:

svg.append("image")
    .attr("xlink:href", temp_canvas.toDataURL())
    .attr("x", 0)
    .attr("y", 0)
    .attr("width", 300)
    .attr("height", 300);

UPDATED FIDDLE

请注意,如果画布上的内容来自页面以外的其他来源(即绘制到不同域中的画布的图像),则无效。