Próbuję utworzyć i dodać filtr feGaussianBlur do prostokąta SVG przy użyciu JavaScript, używając jako odniesienia wartości this code. Dostaję prostokąt, ale nie jest filtrowany. Co ja robię źle?Jak mogę dodać filtr do obiektu SVG w JavaScript?
Próbuję tak:
var container = document.getElementById("svgContainer");
var mySvg = document.createElementNS("http://www.w3.org/2000/svg", "svg");
mySvg.setAttribute("version", "1.1");
container.appendChild(mySvg);
var obj = document.createElementNS("http://www.w3.org/2000/svg", "rect");
obj.setAttribute("width", "90");
obj.setAttribute("height", "90");
var defs = document.createElementNS("http://www.w3.org/2000/svg", "defs");
var filter = document.createElementNS("http://www.w3.org/2000/svg", "filter");
filter.setAttribute("id","f1");
filter.setAttribute("x","0");
filter.setAttribute("y","0");
var gaussianFilter = document.createElementNS("http://www.w3.org/2000/svg", "feGaussianBlur");
gaussianFilter.setAttribute("in","SourceGraphic");
gaussianFilter.setAttribute("stdDeviation","15");
filter.appendChild(gaussianFilter);
defs.appendChild(filter);
mySvg.appendChild(defs);
obj.setAttribute("filter","url(#f1)");
mySvg.appendChild(obj);
[Co próbowałeś?] (Http://whathaveyoutried.com/) [przepełnienie stosu nie jest twoim osobistym asystentem badawczym] (http://meta.stackexchange.com/a/128553/186879). Będziemy bardziej skłonni ci pomóc, jeśli zademonstrujesz pewien wysiłek w rozwiązaniu problemu (na przykład opublikowaniu jakiegoś kodu), niż prośba o pełny przykład/badania. –
Usunąłem _EDIT: Nevermind, działa teraz dla mnie! _ Od pytania, ponieważ znacznie lepiej jest dodać rzeczywiste rozwiązanie w polu odpowiedzi. Zwykle uważam to za cenę zadawania pytań, nawet jeśli udało ci się rozwiązać to samemu: ")". – halfer