Atributo de efecto vectorial SVG

El atributo de efecto vectorial define el efecto vectorial que se utilizará al dibujar un objeto. Estos efectos se aplican antes de las operaciones de composición de filtros, máscaras y clips. Solo tiene efecto en <circle>, <elipse>, <foreignObject>, <image>, <line>, <path>, <polygon>, <polyline>, <rect>, <text>, <textPath> < elementos tspan> y <use> .

Nota: este efecto también se puede utilizar como propiedad CSS.

Sintaxis:

vector-effect = none | non-scaling-size | non-scaling-stroke 
                          | fixed-position | non-rotation 

Valores del Atributo: Este atributo acepta los valores mencionados anteriormente y descritos a continuación:

  • none: Especifica que no se aplicará ningún efecto vectorial. Este es el valor predeterminado del atributo.
  • non-scaling-stroke: Modifica la forma en que se traza un objeto. El ancho del trazo ya no depende de las transformaciones del elemento y del nivel de zoom.
  • non-scaling-size: Especifica que la escala del sistema de coordenadas del usuario utilizado por el elemento y sus descendientes no cambia.
  • non-rotation: Especifica que se suprimen la rotación y el sesgo del sistema de coordenadas del usuario utilizado por el elemento y sus descendientes.
  • fixed-position: Especifica que la posición del sistema de coordenadas del usuario utilizado por el elemento y sus descendientes es fija.

Ejemplo 1: El siguiente ejemplo ilustra el uso del atributo de espacio entre palabras utilizando un valor de atributo de trazo sin escala .

HTML

<!DOCTYPE html>
<html>
  
<body>
    <h1 style="color: green;
            font-size: 40px;">
        GeeksforGeeks
    </h1>
  
    <svg viewBox="120 5 1200 940">
        <path vector-effect="non-scaling-size"
            transform="translate(100,0)scale(4,1)" 
            d="M10,20L40,100L39,200z"
            stroke="green" stroke-width="2px" 
            fill="none">
        </path>
  
        <path vector-effect="non-scaling-stroke" 
            transform="translate(300,0)scale(4,1)" 
            d="M10,20L40,100L39,200z"
            stroke="green" stroke-width="2px" 
            fill="none">
        </path>
    </svg>
</body>
  
</html>

Producción:

Ejemplo 2: El siguiente ejemplo ilustra el uso del atributo de espacio entre palabras utilizando un valor de atributo de tamaño sin escala .

HTML

<!DOCTYPE html>
<html>
  
<body>
    <h1 style="color: green; 
            text-align: center;">
        GeeksforGeeks
    </h1>
  
    <div class="geeks" style="text-align: center;">
  
        <!-- Here we have not applied
         vector-effect attribute  -->
        <svg width="200" height="200" 
            viewBox="0 0 50 50">
              
            <circle cx="25" cy="25" r="20" fill="none" 
                stroke="green" stroke-width="2" />
              
            <path d="M25 15 L 25 35" fill="none" 
                    stroke="green" stroke-width="2" 
                    stroke-linecap="round" />
              
            <path d="M15 25 L 35 25" fill="none" 
                stroke="green" stroke-width="2" 
                stroke-linecap="round" />
        </svg>
  
        <!-- Here we have applied
         vector-effect attribute  -->
        <svg width="200" height="200" 
            viewBox="0 0 50 50">
              
            <circle cx="25" cy="25" r="20" fill="none" 
                stroke="green" stroke-width="2"
                vector-effect="non-scaling-stroke" />
              
            <path d="M25 15 L 25 35" fill="none" 
                stroke="green" stroke-width="2" 
                stroke-linecap="round"
                vector-effect="non-scaling-size" />
              
            <path d="M15 25 L 35 25" fill="none" 
                stroke="green" stroke-width="2" 
                stroke-linecap="round"
                vector-effect="non-scaling-stroke" />
        </svg>
    </div>
</body>
  
</html>

Producción:

Publicación traducida automáticamente

Artículo escrito por thacker_shahid y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *