Sto cercando di creare e aggiungere un filtro feGaussianBlur a un rettangolo SVG utilizzando JavaScript, utilizzando this code come riferimento. Ottengo un rettangolo, ma non è filtrato. Che cosa sto facendo di sbagliato?Come posso aggiungere un filtro a un oggetto SVG in JavaScript?
sto provando in questo modo:
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);
[Che cosa hai provato?] (Http://whathaveyoutried.com/) [Stack Overflow non è il tuo assistente personale di ricerca] (http://meta.stackexchange.com/a/128553/186879). Saremo più inclini ad aiutarti se dimostrerai qualche sforzo nel risolvere il tuo problema (ad esempio pubblicare un codice) piuttosto che chiedere un esempio/ricerca a tutti gli effetti. –
Ho rimosso _EDIT: Nevermind, ora funziona per me! _ Dalla domanda in quanto è molto meglio aggiungere la tua soluzione reale in una casella di risposta. Tendo a considerare questo come il prezzo di fare una domanda, anche se sei riuscito a risolverlo da solo:: '. – halfer