4

我正在尝试将图像添加到 SVG 文件中。我尝试了以下代码::

drawImage : function(src, x, y, h, w) {
        var img = document.createElementNS("http://www.w3.org/2000/svg", "image");
        var $img = $(img);
        $img.attr('x', x);
        $img.attr('y', y);
        $img.attr('width', w);
        $img.attr('height', h);
        $img.attr('xlink:href', src);
        $('g').append($img);
    }

但图像没有出现。当我选择所有图像时..使用$('image')我找到图像,我可以选择它,但仍然..它不可见。我试图调查这个问题,但一无所获。我究竟做错了什么??

4

3 回答 3

3

您可以使用以下setAttributeNS方法:

var img = document.createElementNS('http://www.w3.org/2000/svg','image');
img.setAttributeNS(null,'height','200');
img.setAttributeNS(null,'width','200');
img.setAttributeNS(null,'id','theID');
img.setAttributeNS('http://www.w3.org/1999/xlink','href','src');
img.setAttributeNS(null,'x','0');
img.setAttributeNS(null,'y','0');
$('#g').append(img);
于 2012-04-19T20:31:51.733 回答
1

将宽度和高度分配给 在您的代码$('g')中保存的怎么样?$img

于 2012-04-19T20:19:55.617 回答
0

我找到了一个 jQuery 插件解决了我的问题jQuery.svg

它有几种方法来绘制不同的形状,包括图像。

似乎它是通过使用本机 JavaScript 创建一个 dom 节点来添加图像的。它可以工作

于 2012-04-22T15:21:28.100 回答