<?xml version="1.0" encoding="UTF-8"?>
<rss xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:content="http://purl.org/rss/1.0/modules/content/"
    xmlns:atom="http://www.w3.org/2005/Atom" xmlns:media="http://search.yahoo.com/mrss/" version="2.0">
    <channel>
        
        <title>
            <![CDATA[ SVG - freeCodeCamp.org ]]>
        </title>
        <description>
            <![CDATA[ Descubre miles de cursos de programación escritos por expertos. Aprende Desarrollo Web, Ciencia de Datos, DevOps, Seguridad y obtén asesoramiento profesional para desarrolladores. ]]>
        </description>
        <link>https://www.freecodecamp.org/espanol/news/</link>
        <image>
            <url>https://cdn.freecodecamp.org/universal/favicons/favicon.png</url>
            <title>
                <![CDATA[ SVG - freeCodeCamp.org ]]>
            </title>
            <link>https://www.freecodecamp.org/espanol/news/</link>
        </image>
        <generator>Eleventy</generator>
        <lastBuildDate>Mon, 25 May 2026 15:27:08 +0000</lastBuildDate>
        <atom:link href="https://www.freecodecamp.org/espanol/news/tag/svg/rss.xml" rel="self" type="application/rss+xml" />
        <ttl>60</ttl>
        
            <item>
                <title>
                    <![CDATA[ Cómo utilizar imágenes SVG en CSS y HTML: Un tutorial para principiantes ]]>
                </title>
                <description>
                    <![CDATA[ Artículo original escrito por: Edidiong Asikpo [https://www.freecodecamp.org/news/author/edidiong/] Artículo original: How to Use SVG Images in CSS and HTML – A Tutorial for Beginners [https://www.freecodecamp.org/news/use-svg-images-in-css-html/] Traducido y adaptado por: Keiler Guardo Herrera [/espanol/news/author/keilerguardo/] SVG son las siglas de gráficos vectoriales escalables (Scalable Vector Graphics). Es un tipo único de formato de ]]>
                </description>
                <link>https://www.freecodecamp.org/espanol/news/como-utilizar-imagenes-svg-en-css-y-html-un-tutorial-para-principiantes/</link>
                <guid isPermaLink="false">62110f9cac7bdf0914b1f4cc</guid>
                
                    <category>
                        <![CDATA[ SVG ]]>
                    </category>
                
                <dc:creator>
                    <![CDATA[ Keiler Guardo Herrera ]]>
                </dc:creator>
                <pubDate>Tue, 22 Feb 2022 02:01:42 +0000</pubDate>
                <media:content url="https://www.freecodecamp.org/espanol/news/content/images/2022/02/post.png" medium="image" />
                <content:encoded>
                    <![CDATA[ <p><strong>Artículo original escrito por: </strong><a href="https://www.freecodecamp.org/news/author/edidiong/">Edidiong Asikpo</a><strong><br>Artículo original: </strong><a href="https://www.freecodecamp.org/news/use-svg-images-in-css-html/">How to Use SVG Images in CSS and HTML – A Tutorial for Beginners</a><strong><br>Traducido y adaptado por: </strong><a href="https://www.freecodecamp.org/espanol/news/author/keilerguardo/">Keiler Guardo Herrera</a></p><p>SVG son las siglas de gráficos vectoriales escalables (Scalable Vector Graphics). Es un tipo único de formato de imágenes para gráficos basados en vectores escrito en el lenguaje de marcado extensible (XML).</p><p>En este tutorial, explicaré por qué querrías usar imágenes SVG y cómo puedes usarlas en CSS y HTML.</p><h1 id="-por-qu-utilizar-im-genes-svg"><strong>¿</strong>Por qué utilizar imágenes SVG?</h1><p>Hay varias razones para utilizar imágenes SVG, algunas de las cuales son:</p><ul><li>Las imágenes SVG no pierden su calidad al ampliarlas o cambiarlas de tamaño.</li><li>Se pueden crear y editar con un IDE o un editor de texto.</li><li>Son accesibles y animables.</li><li>Tienen un tamaño de archivo pequeño y son altamente escalables.</li><li>Y se pueden buscar, indexar, programar y comprimir.</li></ul><p>Ahora vamos a ver cómo se puede trabajar realmente con las imágenes SVG.</p><h1 id="c-mo-descargar-la-imagen-svg-utilizada-en-este-tutorial">Cómo descargar la imagen SVG utilizada en este tutorial</h1><p>Si quieres trabajar con la imagen SVG que he utilizado en este tutorial, sigue los pasos (y el esquema) de abajo para descargarla.</p><ul><li>Ve a <a href="https://undraw.co/search">unDraw</a>.</li><li>Cambia el color de fondo a amarillo.</li><li>En el cuadro de búsqueda, busca la palabra <strong>happy</strong>.</li></ul><figure class="kg-card kg-image-card"><img src="https://www.freecodecamp.org/espanol/news/content/images/2022/02/tutorial-1.png" class="kg-image" alt="unDraw's Homepage" srcset="https://www.freecodecamp.org/espanol/news/content/images/size/w600/2022/02/tutorial-1.png 600w, https://www.freecodecamp.org/espanol/news/content/images/size/w1000/2022/02/tutorial-1.png 1000w, https://www.freecodecamp.org/espanol/news/content/images/size/w1600/2022/02/tutorial-1.png 1600w, https://www.freecodecamp.org/espanol/news/content/images/2022/02/tutorial-1.png 1836w" sizes="(min-width: 720px) 720px" width="1836" height="888" loading="lazy"></figure><ul><li>Haz clic en la imagen llamada "<strong>Happy news</strong>".</li><li>En la ventana emergente, has clic en el botón "Download SVG for your projects".</li></ul><figure class="kg-card kg-image-card"><img src="https://www.freecodecamp.org/espanol/news/content/images/2022/02/tutorial-2.png" class="kg-image" alt="Download the SVG file" srcset="https://www.freecodecamp.org/espanol/news/content/images/size/w600/2022/02/tutorial-2.png 600w, https://www.freecodecamp.org/espanol/news/content/images/size/w1000/2022/02/tutorial-2.png 1000w, https://www.freecodecamp.org/espanol/news/content/images/2022/02/tutorial-2.png 1336w" sizes="(min-width: 720px) 720px" width="1336" height="581" loading="lazy"></figure><p>Si seguiste los pasos anteriores correctamente, la imagen SVG debe estar ahora en tu ordenador.<br></p><figure class="kg-card kg-image-card"><img src="https://i.imgur.com/3uCGy6B.png" class="kg-image" alt="3uCGy6B" width="1003" height="183" loading="lazy"></figure><p>Ahora, abre la imagen SVG en tu IDE o editor de texto favorito. Cámbiale el nombre a <strong>happy.svg</strong> o el que prefieras.</p><h1 id="c-mo-utilizar-im-genes-svg-en-css-y-html">Cómo utilizar imágenes SVG en CSS y HTML</h1><p>Hay varias maneras diferentes de utilizar imágenes SVG en CSS y HTML. En este tutorial exploraremos seis métodos diferentes.</p><h2 id="1-c-mo-utilizar-un-svg-con-img"><strong><strong>1. </strong></strong>Cómo utilizar un SVG con<strong><strong> <code>&lt;img&gt;</code></strong></strong></h2><p>Este método es la forma más sencilla de añadir imágenes SVG a una página web. Para utilizar este método, añade el elemento <code>&lt;img&gt;</code> a tu documento HTML y haz referencia a él en el atributo <code>src</code>, así:</p><pre><code class="language-html">&lt;img src = "happy.svg" alt="Mi SVG feliz"/&gt;
</code></pre><p>Suponiendo que hayas descargado la imagen SVG de <a href="https://undraw.co/illustrations">unDraw </a>y la hayas renombrado como <strong>happy.svg</strong>, puedes seguir adelante y añadir el fragmento de código anterior en tu documento HTML.</p><p>Si lo has hecho todo correctamente, tu página web debe tener el mismo aspecto que la siguiente demostración. ?</p><figure class="kg-card kg-embed-card"><iframe width="1280" height="500" src="https://codesandbox.io/embed/svg-demo-mppxs?from-embed" sandbox="allow-modals allow-forms allow-popups allow-scripts allow-same-origin" title="Embedded content" loading="lazy" style="box-sizing: inherit; margin: 0px; padding: 0px; border: 0px; font-style: inherit; font-variant: inherit; font-weight: inherit; font-stretch: inherit; line-height: inherit; font-family: inherit; font-size: 22px; vertical-align: middle; width: 1280px; height: 500px; border-radius: 4px; overflow: hidden;"></iframe></figure><p>Cuando se añade una imagen SVG mediante la etiqueta <code>&lt;img&gt;</code> sin especificar el tamaño, se asume el tamaño del archivo SVG original.</p><p>Por ejemplo, en la demostración anterior, no modifiqué el tamaño de la imagen SVG, por lo que asumió su tamaño original (que era un ancho de <code>915.11162px</code> y una altura de <code>600.53015px</code>).</p><p><strong>Nota</strong>: para cambiar el tamaño original, tienes que especificar el <code>width</code> y <code>height</code> con CSS como puedes ver en la demo de abajo. También puede actualizar el <code>width</code> y <code>height</code> originales directamente.</p><figure class="kg-card kg-embed-card"><iframe width="1280" height="500" src="https://codesandbox.io/embed/svg-demo-1-ey5me?from-embed" sandbox="allow-modals allow-forms allow-popups allow-scripts allow-same-origin" title="Embedded content" loading="lazy" style="box-sizing: inherit; margin: 0px; padding: 0px; border: 0px; font-style: inherit; font-variant: inherit; font-weight: inherit; font-stretch: inherit; line-height: inherit; font-family: inherit; font-size: 22px; vertical-align: middle; width: 1280px; height: 500px; border-radius: 4px; overflow: hidden;"></iframe></figure><p>Aunque podemos cambiar el tamaño de las imágenes SVG añadidas a través de la etiqueta <code>&lt;img&gt;</code> siguen existiendo algunas restricciones si quieres hacer cambios de estilo importantes en la imagen SVG.</p><h2 id="2-c-mo-utilizar-svg-con-background-image-en-css"><strong><strong>2. </strong></strong>Cómo utilizar SVG con<strong><strong> <code>background-image</code></strong> en CSS</strong></h2><p>Esto es similar a añadir SVG a un documento HTML utilizando la etiqueta <code>&lt;img&gt;</code>. Pero esta vez lo hacemos con CSS en lugar de HTML, como puedes ver en el siguiente fragmento de código.</p><pre><code class="language-css">body {
  background-image: url(happy.svg);
}
</code></pre><p>Cuando se utiliza un SVG como imagen de fondo con CSS, tiene limitaciones similares a las de utilizar <code>&lt;img&gt;</code>. Aun así, permite un poco más de personalización.</p><p>Echa un vistazo a la demostración que aparece a continuación y siéntete libre de hacer modificaciones en ella utilizando CSS.</p><figure class="kg-card kg-embed-card"><iframe width="1280" height="500" src="https://codesandbox.io/embed/svg-demo-2-ftn6n?from-embed" sandbox="allow-modals allow-forms allow-popups allow-scripts allow-same-origin" title="Embedded content" loading="lazy" style="box-sizing: inherit; margin: 0px; padding: 0px; border: 0px; font-style: inherit; font-variant: inherit; font-weight: inherit; font-stretch: inherit; line-height: inherit; font-family: inherit; font-size: 22px; vertical-align: middle; width: 1280px; height: 500px; border-radius: 4px; overflow: hidden;"></iframe></figure><h2 id="3-c-mo-utilizar-im-genes-svg-inline"><strong><strong>3. </strong></strong>Cómo utilizar imágenes SVG inline</h2><p>Las imágenes SVG pueden escribirse directamente en el documento HTML mediante la etiqueta <code>&lt;svg&gt; &lt;/svg&gt;</code>.</p><p>Para ello, abre la imagen SVG en VS code o en tu IDE preferido, copia el código y pégualo dentro del elemento <code>&lt;body&gt;</code> en tu documento HTML.</p><pre><code class="language-htmlembedded">&lt;body&gt;
 // Pegua aquí el código SVG.
&lt;/body&gt;
</code></pre><p>Si lo has hecho todo correctamente, tu página web debe ser exactamente igual que la demostración de abajo.</p><figure class="kg-card kg-embed-card"><iframe width="1280" height="500" src="https://codesandbox.io/embed/svg-demo-3-zunkd?from-embed" sandbox="allow-modals allow-forms allow-popups allow-scripts allow-same-origin" title="Embedded content" loading="lazy" style="box-sizing: inherit; margin: 0px; padding: 0px; border: 0px; font-style: inherit; font-variant: inherit; font-weight: inherit; font-stretch: inherit; line-height: inherit; font-family: inherit; font-size: 22px; vertical-align: middle; width: 1280px; height: 500px; border-radius: 4px; overflow: hidden;"></iframe></figure><p>Cuando se utiliza el SVG inline en el documento HTML, se reduce el tiempo de carga porque sirve como una solicitud HTTP.</p><p>El uso de este método te permite realizar una mayor personalización en comparación con el uso de <code>&lt;img&gt;</code> o <code>background-image</code>.</p><h2 id="4-c-mo-utilizar-un-svg-con-object"><strong><strong>4. </strong></strong>Cómo utilizar un SVG con<strong><strong> <code>&lt;object&gt;</code></strong></strong></h2><p>También puedes utilizar un elemento HTML <code>&lt;object&gt;</code> para añadir imágenes SVG a una página web utilizando la siguiente sintaxis de código:</p><pre><code>&lt;object data="happy.svg" width="300" height="300"&gt; &lt;/object&gt;
</code></pre><p>El atributo <code>data</code> se utiliza para especificar la URL del recurso que utilizará el objeto, que en nuestro caso es la imagen SVG.</p><p>El <code>width</code> y el <code>height</code> se utilizan para especificar el tamaño de la imagen SVG.</p><p>De nuevo, a continuación se muestra una demostración para que la explore. ?</p><figure class="kg-card kg-embed-card"><iframe width="1280" height="500" src="https://codesandbox.io/embed/svg-demo-4-3ge0n?from-embed=&amp;file=/index.html" sandbox="allow-modals allow-forms allow-popups allow-scripts allow-same-origin" title="Embedded content" loading="lazy" style="box-sizing: inherit; margin: 0px; padding: 0px; border: 0px; font-style: inherit; font-variant: inherit; font-weight: inherit; font-stretch: inherit; line-height: inherit; font-family: inherit; font-size: 22px; vertical-align: middle; width: 1280px; height: 500px; border-radius: 4px; overflow: hidden;"></iframe></figure><p>El uso de <code>&lt;object&gt;</code> es compatible con todos los navegadores que soportan SVG.</p><h2 id="5-c-mo-utilizar-svg-con-iframe"><strong><strong>5. </strong></strong>Cómo utilizar SVG con<strong><strong> <code>&lt;iframe&gt;</code></strong></strong></h2><p>Aunque esto no es aconsejable, también puedes añadir una imagen SVG usando un <code>&lt;iframe&gt;</code> &nbsp;como se ve en la demostración de abajo.</p><figure class="kg-card kg-embed-card"><iframe width="1280" height="500" src="https://codesandbox.io/embed/svg-demo-5-co3hg?from-embed" sandbox="allow-modals allow-forms allow-popups allow-scripts allow-same-origin" title="Embedded content" loading="lazy" style="box-sizing: inherit; margin: 0px; padding: 0px; border: 0px; font-style: inherit; font-variant: inherit; font-weight: inherit; font-stretch: inherit; line-height: inherit; font-family: inherit; font-size: 22px; vertical-align: middle; width: 1280px; height: 500px; border-radius: 4px; overflow: hidden;"></iframe></figure><p>Sin embargo, tenga en cuenta que los <code>&lt;iframe&gt;</code> pueden ser difíciles de mantener y serán malos para la optimización de su sitio en los motores de búsqueda (SEO). </p><p>El uso de <code>&lt;iframe&gt;</code> también anula el propósito de e<em>scalables </em>en el nombre g<em>ráficos vectoriales escalables</em> porque las imágenes SVG añadidas con este formato no son escalables.</p><h2 id="6-c-mo-utilizar-svg-con-embed-"><strong><strong>6. </strong></strong>Cómo utilizar SVG con<strong><strong> <code>&lt;embed&gt;</code></strong>`</strong></h2><p>El elemento HTML <code>&lt;embed&gt;</code> es otra forma de utilizar una imagen SVG en HTML y CSS utilizando esta sintaxis: <code>&lt;embed src="happy.svg" /&gt;</code>.</p><p>Sin embargo, tenga en cuenta que este método también tiene limitaciones. Según <strong>MDN</strong>, la mayoría de los navegadores modernos han dejado de ser compatibles con los plug-ins del navegador. Esto significa que depender de <code>&lt;embed&gt;</code> no es generalmente buena idea si quieres que tu sitio sea operable en el navegador del usuario promedio.</p><p>A continuación se muestra una demostración del uso del elemento HTML &nbsp;<code>&lt;embed&gt;</code> para añadir una imagen SVG.</p><figure class="kg-card kg-embed-card"><iframe width="1280" height="500" src="https://codesandbox.io/embed/svg-demo-6-iwy0s?from-embed" sandbox="allow-modals allow-forms allow-popups allow-scripts allow-same-origin" title="Embedded content" loading="lazy" style="box-sizing: inherit; margin: 0px; padding: 0px; border: 0px; font-style: inherit; font-variant: inherit; font-weight: inherit; font-stretch: inherit; line-height: inherit; font-family: inherit; font-size: 22px; vertical-align: middle; width: 1280px; height: 500px; border-radius: 4px; overflow: hidden;"></iframe></figure><h2 id="conclusi-n"><strong><strong>Conclusi</strong>ó<strong>n</strong></strong></h2><p>Espero que hayas podido conocer las diferentes maneras de emplear imágenes SVG en CSS y HTML. Espero que esto te guíe hacia la elección del método correcto a la hora de añadir imágenes SVG a un sitio web.</p><p>Si tienes alguna pregunta, puedes enviarme un <a href="https://twitter.com/Didicodes">mensaje en Twitter</a> , y estaré encantada de responder a cada una de las preguntas.</p> ]]>
                </content:encoded>
            </item>
        
            <item>
                <title>
                    <![CDATA[ ¿Qué es un archivo SVG? Explicación de etiquetas e imágenes SVG ]]>
                </title>
                <description>
                    <![CDATA[ SVG SVG o Gráficos Vectoriales Escalables es un estándar web para definir gráficos basados en vectores en páginas web. Basado en XML, el estándar SVG proporciona marcado para describir rutas, formas y texto dentro de una ventana gráfica. El marcado se puede incrustar directamente en HTML para mostrarlo o guardarlo ]]>
                </description>
                <link>https://www.freecodecamp.org/espanol/news/que-es-svg-explicacion-de-etiquetas-imagenes/</link>
                <guid isPermaLink="false">5fd6499a8c7cd154bb975bb8</guid>
                
                    <category>
                        <![CDATA[ SVG ]]>
                    </category>
                
                <dc:creator>
                    <![CDATA[ Sebastian J. Bustamante ]]>
                </dc:creator>
                <pubDate>Fri, 18 Dec 2020 13:00:00 +0000</pubDate>
                <media:content url="https://www.freecodecamp.org/espanol/news/content/images/2021/04/photo-1482455480256-f49706deb391.jpeg" medium="image" />
                <content:encoded>
                    <![CDATA[ <h2 id="svg"><strong><strong><strong><strong>SVG</strong></strong></strong></strong></h2><p>SVG o Gráficos Vectoriales Escalables es un estándar web para definir gráficos basados en vectores en páginas web. Basado en XML, el estándar SVG proporciona marcado para describir rutas, formas y texto dentro de una ventana gráfica. El marcado se puede incrustar directamente en HTML para mostrarlo o guardarlo en un archivo <code>.svg</code> e insertarlo como cualquier otra imagen.</p><p>Puede escribir SVG a mano, pero se pueden diseñar gráficos más complicados en editores de gráficos vectoriales como Illustrator o InkScape y exportarlos a archivos o código SVG.</p><h2 id="conceptos-b-sicos-de-svg"><strong><strong>Conceptos b</strong>ásicos de <strong><strong><strong>SVG</strong></strong></strong></strong></h2><p>Los desarrolladores inician un gráfico <code>&lt;svg&gt;</code> con la etiqueta &nbsp;y el espacio de nombres XML así:</p><pre><code class="language-svg">&lt;svg xmlns="http://www.w3.org/2000/svg" version="1.1"&gt;

&lt;/svg&gt;</code></pre><p>El ejemplo incluye un atributo de <code>version</code>. El atributo <code>version</code> es opcional, pero se recomienda para cumplir con las especificaciones XML.</p><p>Este ejemplo no muestra nada, simplemente establece una ventana gráfica. Puede agregar los atributos <code>height</code> y <code>width</code> para establecer un tamaño de visualización para la ventana gráfica, esto esencialmente establece un canvas para que pueda trabajar.</p><p>Con una ventana gráfica en su lugar, puede agregar gráficos básicos, texto y elementos de ruta.</p><pre><code class="language-svg">&lt;svg
     version="1.1"
     width="100%"
     viewbox="0 0 600 300"
     xmlns="http://www.w3.org/2000/svg"&gt;
  &lt;rect x="10" y="10" width="100" height="100" fill="#f7b2c1" /&gt;
  &lt;circle cx="240" cy="60" r="50" fill="#c1b2f7" stroke="#b2c1f7" stroke width="15"/&gt;
  &lt;text x="450" y="70" font-size="20" text-anchor="middle"&gt;SVG Text es legible por el navegador!&lt;/text&gt;
  &lt;g stroke="#b2c1f7"&gt; &lt;!-- g es para el grupo --&gt;
    &lt;path stroke-width="2" d="M10 170 l590 0" /&gt;
    &lt;path stroke-width="4" d="M10 190 l590 0" /&gt;
    &lt;path stroke-width="6" d="M10 210 l590 0" /&gt;
  &lt;/g&gt;  
&lt;/svg&gt;  </code></pre><p>Puedes ver la salida y jugar con el código en <a href="https://codepen.io/SgiobairOg/pen/OxbNpW">este codepen</a>.</p><p>En la etiqueta <code>svg</code> de apertura agregamos un atributo <code>width</code> para establecer el ancho de la ventana gráfica al 100% del ancho del contenedor, puedes usar porcentajes o anchos de píxeles. La etiqueta svg de apertura también incluye el atributo viewbox que define una ventana a través de la cual los elementos de su svg son visibles, en este caso, el viewbox se extiende desde (0,0) a (600,300). En el espacio SVG, el eje X comienza con cero a la izquierda y aumenta a la derecha; el eje Y comienza con cero en la parte superior y aumenta hacia la parte inferior.</p><p>La etiqueta <code>&lt;rect /&gt;</code> define un rectángulo en la ventana gráfica SVG. En este caso, definimos un cuadrado que está a 10 unidades de la parte superior e izquierda y 100 unidades de alto y ancho. El atributo <code>fill</code> establece el color de relleno de la forma.</p><p>A continuación, definimos un círculo u óvalo con la etiqueta <code>&lt;circle /&gt;</code>. El ejemplo define un círculo centrado en (240,60) con un radio de 50 unidades. Los atributos <code>stroke</code> and <code>stroke-width</code> establecen un color de trazo y un tamaño para el trazo.</p><p>Puede agregar texto al gráfico con la etiqueta <code>text</code>. El texto de ejemplo está anclado desde la mitad del texto hasta un punto en (450, 70) y tiene un tamaño de fuente de 20 unidades. Lo bueno del texto en SVG es que se escalará con el resto de su gráfico, pero el navegador y los bots web aún lo pueden leer.</p><p>Cuando desees aplicar los mismos atributos o estilos CSS a varios elementos SVG, puedes agruparlos con la etiqueta <code>&lt;g&gt;</code>. Los atributos asignados a la etiqueta <code>&lt;g&gt;</code>, como el atributo <code>stroke</code>el ejemplo, se aplicarán a todos los elementos dentro del grupo. En este caso, tres <code>&lt;path /&gt;</code> elementos .</p><p>El elemento <code>&lt;path /&gt;</code> define una ruta vectorial en la ventana gráfica. La ruta está definida por el atributo <code>d</code>. En el primer ejemplo, la definición dice "muévase a la coordenada absoluta (10, 170) y dibuje una línea a las coordenadas relativas 590 en la dirección X y 0 en la dirección Y".<br>Los siguientes comandos se pueden utilizar para crear su ruta:<br>M = moverse a; L = línea a; H = línea horizontal a; V = línea vertical a; Z = cerrar ruta; C = curva (bezier cúbica) a; S = curva suave a; Q = curva bezier cuadrática a; T = curva bezier cuadrática suave a; A = arco</p><h3 id="el-elemento-canvas"><strong>El elemento canvas</strong></h3><p>Los gráficos del canvas se pueden dibujar en un </p><p>Se crea un contexto a través del método getContext en el </p><pre><code class="language-text">&lt;p&gt;Antes de canvas&lt;/p&gt;
&lt;canvas width ="120" height ="60"&gt;&lt;/canvas&gt;
&lt;p&gt;Después canvas&lt;/p&gt;
&lt;script&gt;
    var canvas = document.querySelector("canvas");
    var context = canvas.getContext("2d");
    context.fillStyle = "red";
    context.fillRect(10, 10, 100, 50);
&lt;/script&gt;</code></pre><p>Después de crear el objeto de contexto, el ejemplo dibuja un rectángulo rojo de 100 píxeles de ancho y 50 píxeles de alto, con su esquina superior izquierda en las coordenadas (10,10).</p><h3 id="dibujar-un-gr-fico-circular"><strong><strong><strong><strong>D</strong></strong></strong>ibujar un gráfico circular</strong></h3><p>La variable <code>resultados</code> contiene una serie de objetos que representan las respuestas de la encuesta.</p><pre><code class="language-text">var resultados = [
{ nombre : "satisfecho", cuenta: 1043, color: "lightblue"},
{ nombre : "Neutral", cuenta: 563, color: "lightgreen"},
{ nombre : "Insatisfecho", cuenta: 510, color: "pink"},
{ nombre : "No comentario", cuenta: 175, color: "silver"}
];</code></pre><p>Para dibujar un gráfico circular, dibujamos una serie de sectores circulares, cada uno formado por un arco y un par de líneas en el centro de ese arco. Podemos calcular el ángulo que toma cada arco dividiendo un círculo completo (2 π) por el número total de respuestas y luego multiplicando ese número (el ángulo por respuesta) por el número de personas que eligieron una opción determinada.</p><pre><code class="language-text">&lt;canvas width ="200" height ="200"&gt; &lt;/canvas&gt;
&lt;script&gt;
    var cx = document.querySelector("canvas").getContext("2d");
    var total = resultados.reduce(function (suma, opcion) {
    return suma + opcion.cuenta;
    }, 0);

    // Start at the top

    var anguloActual = -0.5 * Math.PI;
    resultados.forEach (function (resultado) {
    var anguloTejada = (resultado.cuenta / total) * 2 * Math.PI;
    cx.beginPath() ;
    // center = 100, 100, radius = 100
    // del angulo actual, en el setido del reloj por el angulo de la tajada
    cx.arc(100, 100, 100, anguloActual, anguloActual + anguloTejada);
    anguloActual += anguloTejada;
    cx.lineTo(100, 100);
    cx.fillStyle = resultado.color;
    cx.fill() ;
    });
&lt;/script&gt;</code></pre><p>El código anterior dibuja el siguiente gráfico:</p><figure class="kg-card kg-image-card"><img src="https://pbs.twimg.com/media/CTDvkA8UwAAdJg5.png" class="kg-image" alt="CTDvkA8UwAAdJg5" width="900" height="860" loading="lazy"></figure><h3 id="compatibilidad-de-los-navegadores"><strong>Compatibilidad de los navegadores</strong></h3><p><a href="https://caniuse.com/#feat=svg">La compatibilidad del navegador con SVG</a> está disponible en todos los navegadores modernos. Hay algunos problemas con el escalado en IE 9 hasta IE 11, sin embargo, se pueden solucionar con el uso de <code>width</code>, <code>height</code>, <code>viewbox</code> y CSS.</p><h2 id="editores"><strong><strong><strong><strong>Editor</strong></strong></strong>e<strong><strong><strong>s</strong></strong></strong></strong></h2><ul><li><a href="https://vectr.com/">Vectr</a> - herramienta web y de escritorio para crear y editar gráficos SVG, sin costes.</li></ul><h2 id="herramientas-para-crear-svg"><strong>Herramientas para crear <strong><strong><strong>SVG</strong></strong></strong></strong></h2><p>Hay pocas herramientas disponibles para crear SVG en forma de programa de dibujo.</p><ul><li><a href="https://www.inkscape.org/" rel="nofollow">Inkscape</a> - Es una herramienta de código abierto para el dibujo vectorial de última generación con una interfaz gráfica fácil de usar.</li><li><a href="https://www.adobe.com/products/illustrator/" rel="nofollow">Adobe Illustrator</a> - Adobe Illustrator es una herramienta comercial para imágenes vectoriales</li></ul><p>Para obtener más herramientas, <a href="https://https//www.w3.org/Graphics/SVG/WG/wiki/Implementations">consulte la lista W3C de herramientas que admiten SVG</a></p><h2 id="por-qu-deber-a-usar-svg">Por qué debería usar SVG</h2><p>Como formato de imagen vectorial, te permite cambiar el tamaño de una imagen sin pérdida de calidad y un peso particularmente ligero. Como formato XML, te permite beneficiarte de todo el poder de JavaScript y especialmente CSS.</p><h2 id="m-s-informaci-n-sobre-svg-">Más información sobre SVG:</h2><ul><li><a href="https://www.freecodecamp.org/news/a-fresh-perspective-at-why-when-and-how-to-use-svg/">Por qué deberías usar imágenes SVG</a></li><li><a href="https://www.freecodecamp.org/news/things-you-need-to-know-about-working-with-svg-in-vs-code-63be593444dd/">Lo que necesitas saber para trabajar con SVG en VS Code</a></li><li><a href="https://www.freecodecamp.org/news/how-to-make-your-fancy-svg-button-accessible-83c9172c3c15/">Cómo hacer que tu elegante botón SVG sea accesible</a></li></ul><p>Traducido del artículo - <strong><a href="https://www.freecodecamp.org/news/svg-basics-what-are-scalable-vector-graphics-and-how-do-you-use-them/">What Is an SVG File? SVG Image and Tags Explained</a></strong></p> ]]>
                </content:encoded>
            </item>
        
    </channel>
</rss>
