Estoy tratando de crear y agregar un filtro feGaussianBlur a un rectángulo SVG usando JavaScript, usando this code como referencia. Obtengo un rectángulo, pero no está filtrado. ¿Qué estoy haciendo mal?¿Cómo puedo agregar un filtro a un objeto SVG en JavaScript?
Estoy tratando de esta manera:
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);
[¿Qué has intentado?] (Http://whathaveyoutried.com/) [desbordamiento de pila no es su asistente de investigación personal] (http://meta.stackexchange.com/a/128553/186879). Estaremos más dispuestos a ayudarlo si demuestra algún esfuerzo para resolver su problema (como publicar algún código) antes que pedir un ejemplo/investigación completo. –
He eliminado _EDIT: ¡No importa, ahora me funciona! _ De la pregunta, ya que es mucho mejor agregar tu solución real en un buzón de respuestas. Tiendo a considerar esto como el precio de hacer una pregunta, incluso si lograste resolverlo tú mismo ':)'. – halfer