El Lenguaje de las Formas: Entendiendo el Elemento SVG Path

Rate this content
Bookmark

Los beneficios de SVG son vastos: estilizables, accesibles, animables. Y cuando se trata de SVG, el elemento Path es el bloque de construcción de los bloques de construcción. Durante esta presentación, profundizaremos en el lenguaje del camino SVG. No solo aprenderemos a leer datos de camino, sino que también obtendremos la capacidad de manipular caminos sobre la marcha con la ayuda de React, ¡sin necesidad de Adobe Illustrator o la ayuda de un diseñador con poco tiempo disponible!

This talk has been presented at React Summit 2020, check out the latest edition of this React Conference.

FAQ

SVG significa Scalable Vector Graphic y es un formato que utiliza formas, números y coordenadas para renderizar imágenes, lo que lo hace independiente de la resolución y escalable infinitamente. Ofrece ventajas como la interactividad y la accesibilidad en comparación con formatos rasterizados como JPEG, PNG y GIF.

SVG es similar a HTML en la forma de describir contenidos en una página web. Mientras que HTML utiliza elementos como divs y párrafos para estructurar texto, SVG utiliza elementos como grupos, círculos y rectángulos para crear gráficos 2D.

El elemento de ruta en SVG es central porque permite crear casi cualquier forma imaginable. Utiliza comandos que definen cómo se debe dibujar la ruta en el gráfico, permitiendo la creación de formas básicas y complejas con gran precisión.

Editar gráficos SVG involucra entender y manipular el dato de la ruta del SVG, que es una cadena de números y letras que define el gráfico. Herramientas como editores de texto o herramientas específicas de SVG pueden ser utilizadas para modificar estos datos y cambiar la apariencia del gráfico.

La documentación de MDN (Mozilla Developer Network) es muy recomendable para aprender sobre SVG y sus propiedades. Además, herramientas como SVGOMG son útiles para limpiar y optimizar gráficos SVG.

En términos de rendimiento, un solo camino SVG más largo suele ser más eficiente que múltiples caminos cortos, aunque la diferencia puede ser mínima. Es importante considerar cómo se renderizan los gráficos SVG para optimizar la carga y el rendimiento de la página web.

Monica Wojciechowska
Monica Wojciechowska
32 min
17 Jun, 2021

Comments

Sign in or register to post your comment.
Video Summary and Transcription
Esta Charla presenta el elemento SVG Path, explorando sus comandos y potencial. El orador simplifica el lenguaje de las formas agrupando comandos y encontrando formas alternativas de definir arcos. También presentan una herramienta de edición de caminos que permite una manipulación y visualización sencillas de los datos de camino. La Charla concluye con discusiones sobre rendimiento, limitaciones, recursos recomendados, morphing SVG y la biblioteca FlubberJS para interpolación de caminos.

1. Introducción a SVG Path

Short description:

Hola a todos, mi nombre es Monica Wojcichowska y estoy emocionada de hablarles sobre SVGPAP. SVG, como recordatorio, significa Scalable Vector Graphic. Es un lenguaje para describir gráficos 2D y tiene elementos como círculos, rectángulos, líneas y el protagonista de hoy, el elemento de ruta SVG. La ruta tiene un gran potencial ya que no es solo una línea visible, sino un conjunto de instrucciones que se pueden utilizar de diversas formas.

♪ Hola a todos, mi nombre es Monica Wojcichowska y estoy hablando directamente desde Varsovia, Polonia, donde estoy emocionada de hablarles un poco sobre SVGPAP. Pero antes de comenzar, un poco sobre mí. Nací y crecí en Nueva Jersey, pero regresé a mis raíces y actualmente vivo en Polonia y como todos los pierogi que puedo. Si le preguntas a LinkedIn, oficialmente soy una desarrolladora de front-end y una ingeniera de visualización de datos, pero si le preguntas a mis amigos, probablemente te dirán que soy una viajera del mundo y amante de la naturaleza y el deporte.

Pero antes de convertirme en quien, qué y dónde estoy hoy, hubo algunas otras cosas en el camino, como cambiar de carrera en la universidad, cambiar de carrera de marketing a programación, cambiar de país que ya mencioné, y por supuesto, todas las cosas nuevas en el camino, nuevas pasiones, nuevas personas, nuevas aventuras y la aventura continúa. Y la razón por la que les cuento todo esto con un poco más de detalle que una simple introducción en una diapositiva es mostrar con ejemplos que nuestros caminos rara vez son rectos. Se doblan, se retuercen, se giran, y el camino rara vez se ve así. En realidad, se ve más así. E incluso cuando se ve así, a menudo hay algún tipo de obstáculo que lo hace inaccesible. Pero ese es el camino súper abstracto de la vida. Y por mucho que me encantaría hablar de eso, hoy nos centraremos en un camino un poco menos abstracto, el camino SVG en su lugar. Entonces, ¿qué es el SVG? Bueno, el SVG, como recordatorio para la mayoría de ustedes, significa Scalable Vector Graphic y utiliza formas, números y coordenadas en lugar de una cuadrícula de píxeles para renderizar, lo que lo hace independiente de la resolución y escalable infinitamente. Entonces, si quieres un pequeño gráfico, puede que no haya una gran diferencia, pero cuando comienzas a aumentar el tamaño, la diferencia entre el rasterizado, que son los formatos JPEG, PNG, GIF, y el Vector se vuelve inmediatamente claro como se puede ver en estas imágenes. Esto, junto con la interactividad y la accesibilidad, son grandes ventajas cuando se trata de SVG versus rasterizado. Pero lo que es clave para la presentación de hoy es que no es solo un formato de imagen. En realidad, es un lenguaje para describir estos gráficos 2D. Me gusta decir que SVG es a los gráficos lo que HTML es al texto. Es una forma de mostrar llenar el espacio en blanco en una estructura dada. Entonces, donde HTML tiene elementos como divs, encabezados, listas y elementos de párrafo, SVG tiene elementos como el contenedor de grupo, círculos, rectángulos, líneas e incluso para un objeto. Y, por supuesto, el elemento de ruta SVG, que es el protagonista de hoy. ¿Y por qué exactamente es el protagonista? Bueno, porque todas las formas básicas se pueden crear con un elemento de ruta. Entonces, los otros elementos que mencionamos, como el rectángulo, el círculo, se pueden crear usando una ruta. Tenemos algunas formas básicas y formas menos básicas. Y luego tenemos cosas que ni siquiera clasificarías como formas en absoluto. Como este arco que salta por la pantalla o esta batería interactiva a la derecha aquí. También tenemos cosas como recortes, que nos permiten básicamente crear esta máscara y recortar todo lo que está fuera de esa ruta. Como esta tarta de cumpleaños con diferentes fondos. O un texto en una ruta, que nos permite colocar texto a lo largo de una ruta de nuestra elección. Entonces, antes de profundizar, ¿por qué entender la ruta? Bueno, tiene un gran potencial. Una ruta no es solo una línea visible como acabo de mencionar, sino un conjunto de instrucciones que se pueden

2. Explorando el Elemento de Ruta SVG

Short description:

Por placer y propósitos prácticos, exploremos el elemento de ruta en SVG. Es un conjunto de instrucciones representadas por letras y números. SVG proporciona 10 comandos diferentes, cada uno con variantes en mayúsculas y minúsculas. El primer comando, m, se utiliza para moverse a una ubicación. La línea 2 se utiliza para dibujar líneas rectas, mientras que la línea 3 se utiliza para líneas horizontales. El comando v es para líneas verticales. Por último, el comando c se utiliza para crear curvas de Bezier cúbicas.

Más adelante se utiliza de diversas formas diferentes. Por placer, por supuesto, porque a menudo tendemos a disfrutar más de las cosas a medida que las entendemos mejor. Y para propósitos prácticos, como introducir modificaciones o animaciones. Así que echemos un vistazo al elemento de ruta a lo largo de estas líneas.

Imaginemos que un amigo diseñador te da un conjunto de iconos personalizados y quieres hacer una pequeña edición a uno de ellos. No es gran cosa, ¿verdad? Bueno, eso es lo que pensarías, pero detrás de escena, algo que se ve así se parece más a esto. Es una cadena súper larga de números, letras y puntuación.

Así que aprendamos a leer este lenguaje. Cuando aprendemos a leer un libro, no empezamos con el libro completo, sino que empezamos con sus bloques de construcción. Y lo mismo ocurre con la ruta. Tenemos la ruta. Cada ruta requiere un atributo de datos de ruta, que se indica con D, que es esencialmente un conjunto de instrucciones y es cronológico. Podemos leerlo de izquierda a derecha, similar a leer un libro. Y los datos de la ruta están compuestos por diferentes comandos. Cada comando está representado por un conjunto de letras y números, que nos dicen diferentes cosas sobre ese comando.

Así que echemos un vistazo a esos bloques de construcción, esas letras y números. Bueno, SVG nos proporciona 10 comandos diferentes, 10 letras diferentes, y cada comando viene en dos variantes diferentes, mayúsculas y minúsculas. Una letra en mayúscula especifica coordenadas absolutas en la página, y una letra en minúscula especifica coordenadas relativas. Así que nuestro primer comando, m, significa mover a. Básicamente, recoger un lápiz y colocarlo en una ubicación específica, así que solo necesitamos especificar la ubicación x e y. Línea 2. Esto tiene que ver con dibujar líneas rectas de un punto a otro. Así que nuevamente, solo necesitamos especificar las coordenadas x e y de nuestro punto final. Línea 3. A continuación, tenemos la línea horizontal, aquí solo necesitamos proporcionar un valor x porque se asume que el valor y es el mismo que antes. Lo mismo ocurre con v, la línea vertical, solo necesitamos proporcionar un valor y. Y luego vienen las curvas. Hay un número infinito de curvas de Bezier por ahí, pero solo dos simples que están disponibles en el elemento de ruta, y esas son la cuadrática y la cúbica. Así que c significa curva de Bezier cúbica. Y se utiliza para crear una curva suave. Así que necesitamos definir dos puntos, dos puntos de control,

QnA

Check out more articles and videos

We constantly think of articles and videos that might spark Git people interest / skill us up or help building a stellar career

SVGs para hacer destacar tu blog
React Summit Remote Edition 2021React Summit Remote Edition 2021
36 min
SVGs para hacer destacar tu blog
Today's Talk is about using SVGs to enhance blog design, including transforming SVGs into JSX, animating elements, and using React Spring for interactivity. The speaker also demonstrates the use of SVGs in SharkUI and showcases an interactive love button. The benefits of using SVGs in React components are discussed, as well as implementing SVGs as responsive components. Performance considerations and the pros and cons of CSS vs SVG are also touched upon.
Hackeando un e-Reader para Mostrar Mi Menú de Té Con JSX
React Day Berlin 2023React Day Berlin 2023
7 min
Hackeando un e-Reader para Mostrar Mi Menú de Té Con JSX
React can be used to create custom menus for e-readers, and the process involves creating an image and e-book with React and loading them onto the e-reader. Writing an EPUB e-book for e-readers involves converting an SVG file into a PNG image and writing the e-book in EPUB format using HTML, CSS, and images. EPUB generators like Pandoc and Dino simplify the process of generating EPUBs from markdown and running JavaScript on the desktop, respectively.
Gráficos, como una Función del Estado / Gráfico = fn(estado)
React Summit Remote Edition 2021React Summit Remote Edition 2021
15 min
Gráficos, como una Función del Estado / Gráfico = fn(estado)
Anil Durman, engineer at the New York Times, discusses the role of graphics in the context of state. He highlights the work done by his team in helping people understand the news through new formats and pages. The team is hiring for various tech roles. By night, Anil is a creative coder exploring the intersection of creativity and code, and his latest project, Good Graphics, focuses on UI as a function of state, React components, and SVGs. He demonstrates how components can be updated based on state, allowing for declarative graphics. Anil also showcases how nested circles and grids can be used to create complex systems in React, enabling dynamic and reactive graphic designs.