Skip to content
Technical

Dégradés et motifs SVG avancés : Créer des effets complexes

Maîtrisez les dégradés et motifs SVG pour des effets visuels sophistiqués. Apprenez les techniques de dégradés linéaires, radiaux et de motifs pour des designs professionnels.

Robin Monteiro26 janvier 202610 octobre 202612 min
Use this article with an AI assistant:
.md
Dégradés et motifs SVG avancés : Créer des effets complexes
R
Robin Monteiro

Founder of VectoSolve

Self-taught developer, founder and sole developer of VectoSolve since 2024. He builds the conversion engine and the cutting, embroidery and 3D printing exports.

How this article was made: drafted with AI assistance, then edited and fact-checked before publication. About the author

Image vectorizationCutting machine filesEmbroidery filesSVG
Free previewNo signupFull-quality output

Key Takeaways

  • SVG prend en charge les dégradés linéaires, les dégradés radiaux et les motifs en tuiles répétitives — tous définis en XML
  • Les dégradés multi-stops avec transparence permettent des effets de fondu, projecteur et lueur fluides
  • Les motifs utilisent patternUnits et patternTransform pour un contrôle total sur le pavage et la rotation
  • Les dégradés peuvent être imbriqués dans les motifs et animés avec SMIL ou CSS pour des visuels dynamiques
  • Optimisez en limitant les stops de dégradé et en évitant les motifs complexes dans les contextes animés

Au-delà des couleurs unies

Les dégradés et motifs SVG ajoutent de la profondeur et de l'intérêt visuel aux graphiques vectoriels. Ce guide explore les techniques avancées pour créer des effets professionnels.

Techniques de motifs vectoriels et de dégradés dans les graphiques SVG
Les dégradés et motifs transforment les formes SVG plates en visuels riches et texturés

Dégradés linéaires

Structure de base

xml
<defs>
  <linearGradient id="gradient1" x1="0%" y1="0%" x2="100%" y2="0%">
    <stop offset="0%" stop-color="#ff0000"/>
    <stop offset="100%" stop-color="#0000ff"/>
  </linearGradient>
</defs>

<rect fill="url(#gradient1)" width="200" height="100"/>

Contrôle de la direction

xml
<!-- Horizontal -->
<linearGradient x1="0%" y1="0%" x2="100%" y2="0%">

<!-- Vertical -->
<linearGradient x1="0%" y1="0%" x2="0%" y2="100%">

<!-- Diagonal -->
<linearGradient x1="0%" y1="0%" x2="100%" y2="100%">

<!-- Angle personnalisé (45 degrés) -->
<linearGradient gradientTransform="rotate(45)">

Dégradés multi-stops

xml
<linearGradient id="rainbow">
  <stop offset="0%" stop-color="#ff0000"/>
  <stop offset="17%" stop-color="#ff8000"/>
  <stop offset="33%" stop-color="#ffff00"/>
  <stop offset="50%" stop-color="#00ff00"/>
  <stop offset="67%" stop-color="#0000ff"/>
  <stop offset="83%" stop-color="#4b0082"/>
  <stop offset="100%" stop-color="#8f00ff"/>
</linearGradient>

Pro Tip: Utilisez gradientTransform="rotate(45)" au lieu de calculer manuellement x1/y1/x2/y2 pour les dégradés angulaires. C'est plus lisible et plus facile à ajuster par la suite.


Dégradés radiaux

Radial de base

xml
<radialGradient id="radial1" cx="50%" cy="50%" r="50%">
  <stop offset="0%" stop-color="#ffffff"/>
  <stop offset="100%" stop-color="#000000"/>
</radialGradient>

Centre décalé (effet projecteur)

xml
<radialGradient id="spotlight"
                cx="30%" cy="30%"
                fx="25%" fy="25%"
                r="50%">
  <stop offset="0%" stop-color="#ffffff"/>
  <stop offset="100%" stop-color="#333333"/>
</radialGradient>

Dégradés elliptiques

xml
<radialGradient id="ellipse"
                cx="50%" cy="50%"
                rx="50%" ry="25%">
  <stop offset="0%" stop-color="#ff0000"/>
  <stop offset="100%" stop-color="#000000"/>
</radialGradient>

A Full Year of Conversions for $49

Starter Annual: 25 conversions every month, $49 for the whole year. That is about $4.08 a month · Cancel anytime

Get the Annual Deal

Transparence des dégradés

Effets de fondu

xml
<linearGradient id="fade-out">
  <stop offset="0%" stop-color="#000000" stop-opacity="1"/>
  <stop offset="100%" stop-color="#000000" stop-opacity="0"/>
</linearGradient>

Centre transparent

xml
<radialGradient id="glow">
  <stop offset="0%" stop-color="#00ff00" stop-opacity="0.8"/>
  <stop offset="50%" stop-color="#00ff00" stop-opacity="0.3"/>
  <stop offset="100%" stop-color="#00ff00" stop-opacity="0"/>
</radialGradient>
"

Les dégradés et motifs sont le pont entre le flat design et le photoréalisme dans les graphiques vectoriels — la subtilité d'un stop-opacity bien placé peut faire ou défaire une composition.

— Lea Verou, auteure CSS/SVG

Bases des motifs

Motif simple

xml
<defs>
  <pattern id="dots" width="20" height="20" patternUnits="userSpaceOnUse">
    <circle cx="10" cy="10" r="3" fill="#333"/>
  </pattern>
</defs>

<rect fill="url(#dots)" width="200" height="200"/>

Motif rayé

xml
<pattern id="stripes" width="10" height="10" patternUnits="userSpaceOnUse">
  <rect width="5" height="10" fill="#ff0000"/>
  <rect x="5" width="5" height="10" fill="#ffffff"/>
</pattern>

Motif complexe

xml
<pattern id="plaid" width="40" height="40" patternUnits="userSpaceOnUse">
  <!-- Base -->
  <rect width="40" height="40" fill="#e0e0e0"/>

  <!-- Rayures horizontales -->
  <rect width="40" height="10" fill="#c0c0c0"/>
  <rect y="20" width="40" height="10" fill="#c0c0c0"/>

  <!-- Rayures verticales -->
  <rect width="10" height="40" fill="#a0a0a0" opacity="0.5"/>
  <rect x="20" width="10" height="40" fill="#a0a0a0" opacity="0.5"/>
</pattern>

Transformations de motifs

Motif pivoté

xml
<pattern id="diagonal"
         width="10" height="10"
         patternTransform="rotate(45)"
         patternUnits="userSpaceOnUse">
  <line x1="0" y1="0" x2="0" y2="10" stroke="#000" stroke-width="2"/>
</pattern>

Motif mis à l'échelle

xml
<pattern id="scaled"
         width="20" height="20"
         patternTransform="scale(0.5)"
         patternUnits="userSpaceOnUse">
  <!-- contenu du motif à 2x, affiché à 1x -->
</pattern>
Effets de filtre SVG et compositions de dégradés avancées
Combiner filtres avec dégradés et motifs pour des effets visuels en couches

Free SVG Tools for Crafters

Design Checker · Color Separator · Mat Preview · Offset Generator · Text to SVG

Check Your SVG Free

Techniques avancées

Dégradé dans un motif

xml
<defs>
  <linearGradient id="grad">
    <stop offset="0%" stop-color="#ff0000"/>
    <stop offset="100%" stop-color="#00ff00"/>
  </linearGradient>

  <pattern id="gradient-dots" width="20" height="20" patternUnits="userSpaceOnUse">
    <circle cx="10" cy="10" r="8" fill="url(#grad)"/>
  </pattern>
</defs>

Motif avec fond en dégradé

xml
<defs>
  <radialGradient id="bg-grad">
    <stop offset="0%" stop-color="#ffffff"/>
    <stop offset="100%" stop-color="#cccccc"/>
  </radialGradient>

  <pattern id="textured" width="4" height="4" patternUnits="userSpaceOnUse">
    <rect width="4" height="4" fill="url(#bg-grad)"/>
    <circle cx="2" cy="2" r="1" fill="#000" opacity="0.1"/>
  </pattern>
</defs>

Effet bruit/grain

xml
<filter id="noise">
  <feTurbulence type="fractalNoise" baseFrequency="0.8" numOctaves="4"/>
  <feColorMatrix type="saturate" values="0"/>
</filter>

<rect filter="url(#noise)" opacity="0.1" width="100%" height="100%"/>

Animation CSS avec dégradés

Dégradé animé

html
<svg>
  <defs>
    <linearGradient id="animated-grad" x1="0%" y1="0%" x2="100%" y2="0%">
      <stop offset="0%" stop-color="#ff0000">
        <animate attributeName="stop-color"
                 values="#ff0000;#00ff00;#0000ff;#ff0000"
                 dur="4s" repeatCount="indefinite"/>
      </stop>
      <stop offset="100%" stop-color="#0000ff">
        <animate attributeName="stop-color"
                 values="#0000ff;#ff0000;#00ff00;#0000ff"
                 dur="4s" repeatCount="indefinite"/>
      </stop>
    </linearGradient>
  </defs>
</svg>

Les dégradés animés via SMIL (<animate>) fonctionnent nativement dans tous les navigateurs modernes sans JavaScript. Pour des animations de dégradés plus complexes — comme le déplacement des positions de stops dans le temps — combinez SMIL avec les transitions CSS sur l'élément parent.


Considérations de performance

Conseils d'optimisation

  1. Limitez les stops de dégradé
  2. Évitez les motifs complexes dans les animations
  3. Utilisez will-change avec parcimonie
  4. Prévoyez des couleurs de remplacement
  5. Testez sur les appareils mobiles

Quand rastériser

Envisagez la rastérisation quand :

  • Motifs extrêmement complexes
  • Effets de filtre lourds
  • Applications critiques en performance
  • Graphiques statiques

A Full Year of Conversions for $49

Starter Annual: 25 conversions every month, $49 for the whole year. That is about $4.08 a month · Cancel anytime

Get the Annual Deal

VectoSolve et les dégradés

Gestion des dégradés

VectoSolve gère la conversion des dégradés :

  • Extraction des couleurs de dégradé
  • Préservation des stops de couleur
  • Sortie SVG propre

Travail post-conversion sur les dégradés

Après la vectorisation :

  1. Vérifiez les dégradés extraits
  2. Ajustez les stops si nécessaire
  3. Optimisez pour votre cas d'utilisation
  4. Ajoutez les motifs manuellement

Conclusion

Les dégradés et motifs SVG ouvrent la porte à des effets visuels sophistiqués sans les limitations du raster. Maîtrisez ces techniques pour créer de la profondeur, de la texture et de l'intérêt visuel dans vos graphiques vectoriels. Commencez avec des vecteurs propres depuis VectoSolve, puis enrichissez avec des dégradés et motifs selon vos besoins.

Créer des effets vectoriels complexes


Type de dégradé/motifÉlément SVGCas d'utilisation courant
Dégradé linéaire<linearGradient>Arrière-plans, boutons, effets de ciel
Dégradé radial<radialGradient>Projecteurs, lueurs, fondus circulaires
Motif répétitif<pattern>Textures, tissus, arrière-plans en tuiles
Dégradé mesh<meshGradient> (SVG2)Mélange de couleurs photoréaliste

Sources et lectures complémentaires

Tags:
SVG
dégradés
motifs
effets visuels
animation SVG
design vectoriel
Share:

Try VectoSolve Now

Convert your images to high-quality SVG vectors with AI

AI-Powered Vectorization

Ready to vectorize your images?

Convert your PNG, JPG, and other images to high-quality, scalable SVG vectors in seconds.