如何使用 Javascript 将图像模式动态更改/添加到页面上的现有 SVG 中?或任何图书馆。
这是我到目前为止所得到的..
function addSvgStuff(svg, id) {
var svgNS = svg.namespaceURI;
var pattern = document.createElementNS(svgNS, 'pattern');
pattern.setAttribute('id', id);
pattern.setAttribute('patternUnits', 'userSpaceOnUse');
pattern.setAttribute('width', 500);
pattern.setAttribute('height', 500);
var image = document.createElementNS(svgNS, 'image');
image.setAttribute('xlink:href', 'http://www.jampez.co.uk/sensoryuk/events/test.jpg');
image.setAttribute('x', -100);
image.setAttribute('y', -100);
image.setAttribute('width', 500);
image.setAttribute('height', 500);
pattern.appendChild(image);
var defs = svg.querySelector('defs') ||
svg.insertBefore( document.createElementNS(svgNS,'defs'), svg.firstChild);
$('svg polygon').attr('fill', 'url(#' + id + ')');
return defs.appendChild(pattern);
}