我需要将图像绘制到从.svg获得的画布中。 我目前正在使用以下代码:
active_toolbutton = query("#${event.target.id}").clone(false);
active_toolbutton.width = 100;
active_toolbutton.height = 100;
context.drawImageScaled(active_toolbutton, placeX, placeY,
active_toolbutton.width, active_toolbutton.height);
这项工作适用于Chrome但不适用于Firefox,有更好的方法吗?
答案 0 :(得分:0)
我找到了一个解决方案,即使用第三方javascript库将SVG渲染到画布中。我使用了canvg,使用了dart javascript interopt librar。
代码:
import 'package:js/js.dart' as js;
...
active_toolbutton = new CanvasElement();
active_toolbutton.width = 100;
active_toolbutton.height = 100;
var options = js.map({ 'ignoreMouse:': true,
'ignoreAnimation': true,
'ignoreDimensions': true,
'scaleWidth': 100,
'scaleHeight': 100});
js.context.canvg(active_toolbutton, event.target.src, options);