Analyzing your prompt, please hold on...
An error occurred while retrieving the results. Please refresh the page and try again.
SVG peut rendre trois grands types de contenu graphique : formes vectorielles, images et texte. Le texte SVG n’est pas simplement posé sur un canvas; il peut être positionné par coordonnées, stylisé avec CSS ou attributs de présentation, transformé, découpé et placé le long d’un path. Cet article explique comment le texte est écrit et organisé dans le balisage SVG.
Dans cet article, vous apprendrez à :
<text> pour placer du texte SVG sur une ligne de base.<tspan> pour du texte multilignes et des styles en ligne.<textPath> pour faire suivre une courbe au texte.textLength et espacement des glyphes.| Élément | Rôle |
|---|---|
<text> | Définit un bloc de texte. |
<tspan> | Ajoute positionnement et style fins dans <text>. |
<textPath> | Aligne du texte le long d’une courbe <path>. |
<text> dans le document <svg>.x et y pour placer la ligne de base.font-family, font-size, fill ou stroke.<tspan> pour plusieurs lignes ou des styles mixtes.<textPath> si le texte doit suivre une courbe.<text><text> crée une séquence de texte. x et y positionnent le début de la ligne de base, pas l’angle supérieur gauche d’une boîte. Un petit y peut donc couper les lettres en haut.
1<svg height="100" width="200" xmlns="http://www.w3.org/2000/svg">
2 <text x="10" y="6" fill="red">The text is not fully visible </text>
3 <text x="10" y="30" fill="green">The text is fully visible </text>
4</svg>
Attributs courants de <text> et <tspan> :
x, y – coordonnées absolues du début de ligne de base.dx, dy – déplacements relatifs.rotate – rotation appliquée aux caractères.textLength – longueur cible du texte rendu.lengthAdjust – adaptation par espacement ou glyphes.text-anchor – alignement par rapport à la coordonnée x.writing-mode – direction du flux de texte.
<tspan> – styles en ligne et retours à la ligneSVG ne fait pas de retour automatique à la ligne. Utilisez plusieurs <tspan> dans un <text> pour créer des lignes séparées et appliquer des styles à des fragments précis.
1<svg height="300" width="600" xmlns="http://www.w3.org/2000/svg">
2 <text x="20" y="60" style="font-family:arial">
3 <tspan style="font-weight:bold; font-size:55px">ASPOSE</tspan>
4 <tspan x="50" y="90" style="font-size:20px; fill:grey">Your File Format APIs </tspan>
5 </text>
6</svg>
x et y sur un <tspan> commencent une nouvelle ligne à des coordonnées données. Les styles en ligne ne s’appliquent qu’à ce <tspan>.
<textPath> – texte sur une courbe<textPath> attache du texte à un <path> pour que les caractères suivent une courbe. Le path peut être référencé avec href / xlink:href ou donné directement avec l’attribut path.
1<svg height="300" width="800" xmlns="http://www.w3.org/2000/svg">
2 <path id="my_path1" d="M 50 100 Q 25 10 180 100 T 350 100 T 520 100 T 690 100" fill="transparent" />
3 <text>
4 <textPath href="#my_path1">
5 Aspose.SVG for .NET is a flexible library for SVG file processing and is fully compatible with its specifications.
6 </textPath>
7 </text>
8</svg>
Si le path est plus court que le texte, le dépassement est coupé à la fin du path. Les propriétés de style fonctionnent comme pour le texte normal.
| Problème | Cause | Correction |
|---|---|---|
| Texte coupé en haut | y plus petit que la taille de police | Choisissez y plus grand que font-size |
| Texte qui ne suit pas la courbe | href pointe vers un id absent | Vérifiez l’id du <path> |
| Glyphes déformés | textLength avec mauvais lengthAdjust | Utilisez spacingAndGlyphs si les glyphes doivent s’adapter |
| Texte RTL mal affiché | unicode-bidi absent | Ajoutez direction: rtl; unicode-bidi: bidi-override |
| Pas de retour à la ligne | SVG ne wrap pas automatiquement | Ajoutez des <tspan> avec x/y ou dy |
| Objectif | Fragment SVG |
|---|---|
| Centrer du texte | <text x="50%" y="50%" text-anchor="middle" dominant-baseline="middle">Centered</text> |
| Texte vertical | <text x="20" y="20" writing-mode="tb">Vertical</text> |
| Étendre à une largeur | <text x="10" y="40" textLength="200" lengthAdjust="spacingAndGlyphs">Stretch me</text> |
| Texte sur courbe | <path id="curve" d="M10,80 C40,10 65,10 95,80" fill="none"/> <text><textPath href="#curve">On a curve</textPath></text> |
Définissez x et y sur <text>. y positionne la ligne de base; il doit souvent être supérieur à la taille de police.
Utilisez plusieurs <tspan> dans un <text>, avec leurs propres valeurs x et y, ou dy pour un décalage relatif.
Oui. Définissez un <path> avec un id, puis référencez-le depuis <textPath href="#path-id">.
Oui. Consultez Text Vectorization & Text Security – .NET et Convertir du texte SVG en vecteur avec Python.
<text>, <tspan> et <textPath>.<textPath>.<text> avec Aspose.SVG for Python via .NET.Analyzing your prompt, please hold on...
An error occurred while retrieving the results. Please refresh the page and try again.