servidores de gradiente como archivos externos en SVG [duplicado]
Pregunta
Duplicar posible:
Incluir archivo SVG en SVG
la propiedad de llenado en SVG acepta una URL para que apunte a un elemento de gradiente / patrón, una instancia de una llamada 'servidor de pintura'.
La Pregunta: ¿Es posible en cualquier navegador (es decir, no IE, por supuesto), utilizar un gradiente definido en un archivo SVG externo? Al igual que, en rect.svg
,
<rect fill="url(grad.svg#my_grad)" />
y el elemento <linearGradient />
correspondiente en grad.svg
?
Sería muy agradable, porque entonces se podría almacenar todos sus gradientes / patrones en un archivo y conseguir que la caché ...
Saludos,
Actualización: Esta pregunta es, por su significado, un duplicado de Incluir archivo SVG en SVG (donde la pregunta fue respondida por al menos Firefox). Sigo mina a cielo abierto, porque creo que el título y las etiquetas son más probabilidades de ser encontrado por, bueno, ya.
Solución
La especificación SVG simplemente indica que puede utilizar un URI - por lo que debe ser posible. Soporte del navegador es por supuesto un asunto diferente.
Me acabo de escribir y probado un archivo de muestra pequeño.
No funciona en Inkscape -. Pero funciona con el kit de herramientas Apache Batik
Para compatibilidad con navegadores, he subido el archivo a browsershots.org y para resumir: algunos navegadores apoyo externo gradientes - algunos no lo hacen. por ejemplo:.
- Firefox 3.0 NO
- Firefox 3.5 SI
- Opera 9.64, 10.0 SÍ
- Safari 4 NO
- Chrome 2.0 NO
Otros consejos
Si he entendido bien, cambiar la url a
<rect fill="url(grad.svg?param=my_grad" />
Y luego generar la dinámica SVG?