Analyzing your prompt, please hold on...
An error occurred while retrieving the results. Please refresh the page and try again.
Les dégradés SVG créent des transitions de couleur douces pour remplir ou tracer formes, texte et paths. Ce tutoriel explique comment <linearGradient>, <radialGradient>, <stop>, fill="url(#id)" et stroke="url(#id)" fonctionnent ensemble.
Réponse rapide : définissez un dégradé dans <defs>, donnez-lui un id, ajoutez des éléments <stop> avec offset et stop-color, puis référencez-le depuis une forme ou un texte avec fill="url(#id)" ou stroke="url(#id)".
1<svg width="220" height="120" xmlns="http://www.w3.org/2000/svg">
2 <defs>
3 <linearGradient id="brand-gradient" x1="0%" y1="0%" x2="100%" y2="0%">
4 <stop offset="0%" stop-color="steelblue" />
5 <stop offset="100%" stop-color="gold" />
6 </linearGradient>
7 </defs>
8 <rect x="20" y="20" width="180" height="80" fill="url(#brand-gradient)" />
9</svg>Dans cet article, vous apprendrez à créer des définitions réutilisables dans <defs>, appliquer des dégradés à fill et stroke, contrôler direction, point focal et stops, et éviter les erreurs avec id, url(#id), offset et gradientUnits.
Un dégradé est une transition progressive entre couleurs. SVG prend en charge <linearGradient> et <radialGradient>. Ces éléments sont des paint servers : ils sont définis une fois, puis référencés par les éléments visibles.
<defs> pour les définitions réutilisables.<linearGradient> pour une transition droite ou <radialGradient> pour une transition depuis un centre.id unique.<stop> avec des offset croissants et des stop-color.fill="url(#id)" ou stroke="url(#id)".x1, y1, x2, y2, cx, cy, r, fx, fy ou gradientUnits si le rendu n’est pas celui attendu.Un dégradé linéaire change de couleur le long d’un vecteur défini par x1, y1, x2 et y2. Avec gradientUnits="objectBoundingBox", les valeurs sont souvent des pourcentages; avec userSpaceOnUse, elles utilisent le système de coordonnées SVG courant.
1<svg height="250" width="700" xmlns="http://www.w3.org/2000/svg">
2 <defs>
3 <linearGradient id="grad1" x1="0%" y1="0%" x2="100%" y2="0%">
4 <stop offset="10%" style="stop-color:LIGHTSALMON" />
5 <stop offset="50%" style="stop-color:TEAL" />
6 <stop offset="90%" style="stop-color:LIGHTPINK" />
7 </linearGradient>
8 </defs>
9 <ellipse cx="300" cy="170" rx="165" ry="55" fill="url(#grad1)" />
10 <text x="10" y="85" font-family="Arial" stroke="grey" stroke-width="1" font-size="90" fill="url(#grad1)" >Linear Gradient</text>
11</svg>
Le texte et l’ellipse partagent fill="url(#grad1)", donc la même définition de dégradé.
Un dégradé radial se propage depuis un centre ou un point focal. cx, cy et r définissent le cercle final; fx et fy définissent le point focal.
1<svg height="300" width="600" xmlns="http://www.w3.org/2000/svg">
2 <defs>
3 <radialGradient id="myRG" cx="0.5" cy="0.5" r="0.9" fx="0.5" fy="0.5" spreadMethod="pad">
4 <stop offset="0%" stop-color="BISQUE" />
5 <stop offset="60%" stop-color="CADETBLUE" />
6 </radialGradient>
7 </defs>
8 <ellipse cx="300" cy="170" rx="165" ry="55" fill="url(#myRG)" />
9 <text x="10" y="85" font-family="Arial" stroke="grey" stroke-width="1" font-size="85" fill="url(#myRG)" >Radial Gradient</text>
10</svg>
Déplacer fx et fy, par exemple vers 25%, décale la zone lumineuse vers un côté de la forme.

| Problème | Cause | Correction |
|---|---|---|
| Le dégradé n’est pas visible | id absent, référence incorrecte ou élément cible sans fill / stroke | Donnez un id unique et référencez url(#id) |
| Le dégradé ne s’applique pas | Référence fill ou stroke incorrecte | Vérifiez que l’id correspond exactement |
| Direction inattendue | Mauvais x1, y1, x2, y2 | Ajustez le vecteur de dégradé |
| Le radial ne couvre pas la zone attendue | r, centre, point focal ou gradientUnits inadaptés | Ajustez r, cx, cy, fx, fy ou utilisez userSpaceOnUse |
| Les stops se mélangent mal | offset manquants ou dans le mauvais ordre | Vérifiez l’ordre de 0% à 100% |
Définissez le dégradé dans <defs>, donnez-lui un id, puis mettez fill ou stroke à url(#id) sur l’élément cible.
<linearGradient> crée une transition le long d’une ligne. <radialGradient> diffuse la couleur depuis un centre ou un point focal.
Oui. Définissez le dégradé dans <defs> et utilisez stroke="url(#id)" avec un stroke-width suffisant.
Oui. En Python via .NET, chargez le SVG et modifiez les attributs stop-color des éléments <stop>. Consultez
Changer les couleurs SVG en Python.
Analyzing your prompt, please hold on...
An error occurred while retrieving the results. Please refresh the page and try again.