Hice un svg en Illustrator, pero ahora quiero usarlo en un sitio web/aplicación pero tiene un tamaño enorme (alrededor de 10 MB), ¿cómo puedo reducir su tamaño? Mi archivo de Illustrator es bastante grande, pero eso se debe a que tengo algunos elementos de calco debajo. El archivo también tiene una mesa de trabajo grande, pero cuando guardo, ¿debo eliminar mis elementos de rastreo y disminuir el tamaño de la mesa de trabajo?
Sí, debe eliminar cualquier elemento adicional antes de guardar su svg. Además, ¿qué tan complejo es tu mapa? Los svg generalmente funcionan mejor sin degradados, máscaras de recorte o efectos adicionales como sombras paralelas. Si necesita mantener los detalles, ¿por qué no simplemente guardar para la web desde Illustrator como png?
Me encontré con esto varias veces con Illustrator CC-2014 y usaré el siguiente como ejemplo:
Solo algunas formas, colores y guías.
File -> Save As
seleccionarSVG (svg)
Después de seleccionar SVG, aparecerá un cuadro de opción, así que seleccione SVG Code...
:
El código aparecerá en su editor de código predeterminado o abrirá un archivo .txt:
<?xml version="1.0" encoding="utf-8"?>
<!-- Generator: Adobe Illustrator 18.0.0, SVG Export Plug-In . SVG Version: 6.00 Build 0) -->
<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
<svg version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px"
viewBox="0 0 713 956" enable-background="new 0 0 713 956" xml:space="preserve">
<g id="Layer_1">
<path fill="#F1F2F2" stroke="#000000" stroke-miterlimit="10" d="M472.5,359.6c-82,0-148.5-66.5-148.5-148.5
c0-16.7,2.8-32.8,7.9-47.9c-9.4-1.1-18.9-1.6-28.5-1.6c-138.9,0-251.5,112.6-251.5,251.5s112.6,251.5,251.5,251.5
s251.5-112.6,251.5-251.5c0-25.1-3.7-49.3-10.5-72.2C523.1,352.9,498.6,359.6,472.5,359.6z"/>
</g>
<g id="Layer_2">
<circle fill="#E6E7E8" stroke="#000000" stroke-miterlimit="10" cx="488.3" cy="638.9" r="148.5"/>
</g>
<g id="Layer_3">
</g>
</svg>
Si observa en el código anterior, tengo tres capas y son Layer_1
, Layer_2
y Layer_3
. En este caso no salió las guías pero a veces lo he visto como id="guide"
si lo recordara.
Recortaría el código a esto:
<?xml version="1.0" encoding="utf-8"?>
<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
<svg version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px"
viewBox="0 0 713 956" enable-background="new 0 0 713 956" xml:space="preserve">
<g id="Layer_1">
<path fill="#F1F2F2" stroke="#000000" stroke-miterlimit="10" d="M472.5,359.6c-82,0-148.5-66.5-148.5-148.5
c0-16.7,2.8-32.8,7.9-47.9c-9.4-1.1-18.9-1.6-28.5-1.6c-138.9,0-251.5,112.6-251.5,251.5s112.6,251.5,251.5,251.5
s251.5-112.6,251.5-251.5c0-25.1-3.7-49.3-10.5-72.2C523.1,352.9,498.6,359.6,472.5,359.6z"/>
</g>
<g id="Layer_2">
<circle fill="#E6E7E8" stroke="#000000" stroke-miterlimit="10" cx="488.3" cy="638.9" r="148.5"/>
</g>
</svg>
y el SVG anterior se puede llamar como una imagen en sus archivos.
Esa es una forma de hacerlo, pero he aprendido y he estado probando otra. En mis archivos XHTML, lo recorto hasta el SVG mismo así:
<svg version="1.1" id="Layer_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
<path fill="#F1F2F2" stroke="#000000" stroke-miterlimit="10" d="M472.5,359.6c-82,0-148.5-66.5-148.5-148.5
c0-16.7,2.8-32.8,7.9-47.9c-9.4-1.1-18.9-1.6-28.5-1.6c-138.9,0-251.5,112.6-251.5,251.5s112.6,251.5,251.5,251.5
s251.5-112.6,251.5-251.5c0-25.1-3.7-49.3-10.5-72.2C523.1,352.9,498.6,359.6,472.5,359.6z"/>
<circle fill="#E6E7E8" stroke="#000000" stroke-miterlimit="10" cx="488.3" cy="638.9" r="148.5"/>
</svg>
PERO tenga en cuenta que, después de algunas pruebas, descubrí que la <svg>
etiqueta debe incluirse dentro de un archivo <div>
. Hacerlo de esta manera ahorra código y puedo animarlo fácilmente de esta manera.
Resultado en Chrome:
joojaa
AmeliaBR