Maison interface Web Tutoriel H5 HTML5 SVG 2D Introduction 7—Réutilisation et référence des compétences du didacticiel SVG Elements_html5

HTML5 SVG 2D Introduction 7—Réutilisation et référence des compétences du didacticiel SVG Elements_html5

May 16, 2016 pm 03:49 PM
2d svg 引用 重用

Nous avons introduit de nombreux éléments graphiques plus tôt. Si de nombreux graphiques eux-mêmes sont identiques, devons-nous en définir un nouveau à chaque fois ? Pouvons-nous partager quelques graphiques ? C'est l'objet de cette section : la réutilisation des éléments SVG.

Élément g combiné
L'élément g est un conteneur qui combine un groupe d'éléments graphiques liés en un tout de cette manière, nous pouvons opérer sur cet ensemble. Cet élément peut généralement être utilisé conjointement avec les éléments desc et title pour fournir des informations structurelles sur le document. Les documents bien structurés sont généralement lisibles et rendus efficacement. Regardez un petit exemple :

Copiez le code
Le code est le suivant :

version="1.1"width="5cm"height="5cm">
Deux groupes, chacun de deux rectangles< ;/desc>

🎜>
>
height="1cm" />

width="4.98cm "height="4.98cm"
fill="none" Stroke="blue" Stroke-width=".02cm"/>

Notez quelques points
 :
1.xmlns="http://www.w3.org/2000/svg" indique que l'espace de noms par défaut de l'ensemble de l'élément svg est svg. Cela peut être omis lorsqu'il n'y a pas d'ambiguïté. Puisque le document svg est un document XML, les règles pertinentes de l'espace de noms XML sont applicables ici. Par exemple, vous pouvez spécifier un espace de noms pour l'affichage SVG, fournir un alias pour l'espace de noms, etc.
Les éléments 2.g peuvent être imbriqués.
3. Les éléments graphiques combinés peuvent recevoir une valeur d'identifiant tout comme un élément unique. De cette façon, en cas de besoin (comme l'animation et la réutilisation d'un groupe d'éléments), il vous suffit de référencer cette valeur d'identifiant.
4. La combinaison d'un groupe d'éléments graphiques peut définir uniformément les attributs associés de ce groupe d'éléments (remplissage, contour, transformation, etc.).
Élément Template-symbol

L'élément symbol est utilisé pour définir un modèle graphique (le modèle peut contenir de nombreux graphiques). Ce modèle peut être instancié par l'élément use. La fonction du modèle est très similaire à celle de l'élément g. Ils fournissent tous deux un ensemble d'objets graphiques, mais il existe quelques différences. La différence avec l'élément g est :
1. L'élément symbole lui-même ne sera pas rendu, seules les instances du modèle de symbole seront rendues.
2. L'élément symbole peut avoir les attributs viewBox et préservationAspectRatio, qui permettent au symbole de mettre à l'échelle l'élément graphique.

Du point de vue du rendu, les éléments similaires à l'élément symbol sont des éléments de marqueur (définissant les flèches et les étiquettes) et de motif (définissant les couleurs) ; ces éléments ne sont pas directement rendus ; leur utilisation consiste essentiellement à utiliser un élément pour instancier. Pour cette raison, l'attribut 'display' n'a aucune signification pour les symboles. Le code modifié suivant montre comment utiliser le symbole :




Copiez le code


Le code est le suivant :
xmlns:xlink="http://www.w3.org/1999/xlink" version="1.1"width="5cm"height="5cm"> Deux groupes, chacun de deux rectangles

" hauteur="1cm"/>


< usexlink :href="#group1"target="_blank"rel="nofollow">
" .02cm"width="4.96cm"height="4.96cm"
fill="none"Stroke="blue"Stroke-width=".02cm"/> >

élément define-defs
SVG permet de définir un ensemble d'objets puis de réutiliser cet ensemble d'objets (attention, pas seulement des objets graphiques). L'exemple le plus courant consiste à définir une couleur de dégradé, puis à l'attribuer à l'attribut de remplissage dans d'autres objets graphiques. Les couleurs dégradées ne sont pas rendues une fois définies, les objets de ce type peuvent donc être placés n'importe où. La réutilisation existe souvent dans les objets graphiques, et nous ne souhaitons pas effectuer le rendu directement lors de la définition, mais souhaitons le rendre à l'endroit référencé. Cela peut être réalisé en utilisant l'élément defs.

Généralement, l'approche recommandée consiste à placer les objets référencés dans les éléments defs autant que possible. Ces objets sont généralement : altGlyphDef, clipPath, curseur, filtre, marqueur, masque, motif, LinearGradient, radialGradient, symboles et objets graphiques, etc. Définir ces objets dans les éléments defs les rend plus faciles à comprendre, améliorant ainsi l'accessibilité.

En fait, l'élément g, l'élément symbol et l'élément defs en tant qu'objets conteneurs fournissent tous des fonctions de réutilisation à des degrés divers, mais les caractéristiques de chaque élément peuvent être légèrement différentes : par exemple, l'élément g est directement rendu , symbol et defs ne seront pas rendus directement. Le symbole contient l'attribut viewBox et une nouvelle fenêtre de vue sera créée.

Habituellement, l'attribut id est attribué aux éléments définis dans defs et utilisé directement là où il est utilisé. Selon l'élément, ces définitions peuvent être utilisées à différents endroits. Par exemple, la couleur progressive suivante est utilisée comme attribut :

Copier le code.
Le code est le suivant :

xmlns="http://www.w3.org/2000 /svg"version=" 1.1">
LocalURIreferenceswithinancestor's'defs'element.



🎜>fill="url(#Gradient01)"/>


La définition des éléments graphiques liés peut être liée au document à l'aide de l'élément use. Par exemple :



Copier le code
Le code est le suivant :
xmlns="http://www.w3.org/2000/svg"xmlns:xlink="http://www. w3.org/ 1999/xlink">
ExampleUse01-Simplecaseof'use'ona'rect'



fill="none "Stroke="blue"Stroke-width=".2"/>
Veuillez noter l'utilisation de l'espace de noms xlink ici. Bien que la plupart des téléspectateurs l'afficheront correctement sans cela, pour des raisons de cohérence, l'espace de noms xlink doit être défini sur l'élément

Élément d'utilisation de référence
Tout svg, symbole, g, élément graphique unique et élément d'utilisation peut essentiellement être référencé par des éléments d'utilisation en tant qu'objets de modèle (tels que l'initialisation). Le contenu graphique référencé par l'utilisation sera rendu à l'emplacement spécifié. Contrairement à l’élément image, l’élément use ne peut pas référencer l’intégralité du document. L'élément
use possède également des attributs x, y, width et height. Ces attributs peuvent être omis. S'ils ne sont pas omis, les coordonnées ou la longueur du contenu graphique référencé seront mappées à l'espace de coordonnées utilisateur actuel. La fonction de l'élément

use équivaut à une copie profonde de l'objet référencé dans une arborescence DOM indépendante et non publique ; le nœud parent de cette arborescence est l'élément use. Bien qu'il s'agisse d'un nœud DOM non public, il s'agit toujours d'un nœud DOM par essence, donc toutes les valeurs d'attribut, animations, événements, paramètres liés au CSS, etc. de l'objet référencé seront copiés et fonctionneront toujours, et ces nœuds fonctionneront toujours. héritez également des attributs pertinents de l'élément et utilisez les ancêtres (notez que les éléments référencés sont des copies complètes. Ces éléments copiés n'ont rien à voir avec les éléments d'origine, donc les attributs des nœuds ancêtres des éléments référencés ne seront pas hérités ici) Si ces nœuds eux-mêmes sont des propriétés liées (CSS) et remplaceront également les propriétés héritées, celles-ci sont cohérentes avec les nœuds DOM ordinaires, alors soyez prudent lorsque vous utilisez "visibility:hidden" sur les éléments use, car cela ne fonctionnera pas nécessairement. Cependant, comme cette partie des nœuds n'est pas publique, seul l'élément use peut être vu lors des opérations DOM, donc seul l'élément use peut être exploité.

Du point de vue de l'effet visuel, l'élément use ressemble plus à un espace réservé. L'effet visuel après le rendu est le même que le rendu directement avec l'objet référencé :
1.référence de l'élément use. Un élément symbole
Dans ce cas, l'effet visuel est équivalent à :
(1) Remplacer l'élément use par l'élément g
(2) Diviser use par x, y, width, height, )Remplacez l'élément symbol référencé par un élément svg. Cet élément svg utilisera explicitement les attributs width et height de l'élément use (l'élément use sans ces attributs sera 100%
(5) Changer le graphique); de l'élément de symbole référencé Le contenu est copié en profondeur dans le svg remplacé.

2. L'élément use fait référence à un élément svg
Dans ce cas, l'effet visuel est équivalent à : (1) Remplacer l'élément use par l'élément g ; >(2 ) Déplacez tous les attributs d'utilisation sauf x, y, width, height, xlink:href vers l'élément g
(3) Changez les attributs x, y d'utilisation en translation(x, y) et ajoutez to g L'attribut transform de l'élément est last ;
(4) Copiez l'élément svg référencé, y compris le contenu. Cet élément svg utilisera explicitement les attributs width et height de l'élément use (l'élément use utilisera les valeurs d'origine. ​​s'il n'a pas ces attributs);

3. Autres situations

L'effet visuel dans ces cas est équivalent à : (1) Remplacer l'élément use par le g element; (2) Diviser use par x , y, width, height, xlink : Tous les attributs autres que href sont déplacés vers l'élément g
(3) Changer les attributs x, y de use pour traduire( x, y), et ajoutez-les à la fin de l'attribut transform de l'élément g ;
(4) Copiez l'élément de référence

Regardez l'effet visuel de l'exemple ci-dessous
 :


Copier le code
Le code est le suivant :
xmlns="http:/ /www.w3.org/2000/svg"xmlns:xlink="http://www.w3.org /1999/xlink">
ExampleUse03-'use'witha'transform'attribute< /desc>


fill="none"Stroke="blue"Stroke-width=".2"/ >
transform="translate(20, 2.5)rotate(10)"/>




L'apparence de l'image ci-dessous est la même que celle ci-dessus
 :


Copier le code
Code comme suit :
xmlns="http://www.w3.org/2000/svg"version= "1.1">
ExampleUse03-'use'witha'transform'attribute< ;/desc>
fill="none"Stroke="blue"Stroke-width=". 2"/>






Référence pratique :
Index du script : http://msdn.microsoft.com/zh-cn/library/ff971910(v=vs.85).aspx
Centre de développement : https://developer.mozilla.org/en/SVG
Référence populaire : http://www.chinasvg.com/
Documentation officielle : http://www.w3.org/TR/SVG11/
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn

Outils d'IA chauds

Undresser.AI Undress

Undresser.AI Undress

Application basée sur l'IA pour créer des photos de nu réalistes

AI Clothes Remover

AI Clothes Remover

Outil d'IA en ligne pour supprimer les vêtements des photos.

Undress AI Tool

Undress AI Tool

Images de déshabillage gratuites

Clothoff.io

Clothoff.io

Dissolvant de vêtements AI

Video Face Swap

Video Face Swap

Échangez les visages dans n'importe quelle vidéo sans effort grâce à notre outil d'échange de visage AI entièrement gratuit !

Outils chauds

Bloc-notes++7.3.1

Bloc-notes++7.3.1

Éditeur de code facile à utiliser et gratuit

SublimeText3 version chinoise

SublimeText3 version chinoise

Version chinoise, très simple à utiliser

Envoyer Studio 13.0.1

Envoyer Studio 13.0.1

Puissant environnement de développement intégré PHP

Dreamweaver CS6

Dreamweaver CS6

Outils de développement Web visuel

SublimeText3 version Mac

SublimeText3 version Mac

Logiciel d'édition de code au niveau de Dieu (SublimeText3)

Comment utiliser les guillemets dans Apple Notes Comment utiliser les guillemets dans Apple Notes Oct 12, 2023 pm 11:49 PM

Dans iOS 17 et macOS Sonoma, Apple a ajouté de nouvelles options de formatage pour Apple Notes, notamment des guillemets et un nouveau style Monostyle. Voici comment les utiliser. Avec des options de formatage supplémentaires dans Apple Notes, vous pouvez désormais ajouter des guillemets à vos notes. Le format de citation en bloc facilite le décalage visuel des sections d'écriture à l'aide de la barre de citation à gauche du texte. Appuyez/cliquez simplement sur le bouton de format « Aa » et sélectionnez l'option de citation en bloc avant de taper ou lorsque vous êtes sur la ligne que vous souhaitez convertir en citation en bloc. Cette option s'applique à tous les types de texte, options de style et listes, y compris les listes de contrôle. Dans le même menu Format, vous pouvez trouver la nouvelle option Style unique. Il s'agit d'une révision du précédent modèle "à largeur égale".

Parlons de la façon d'utiliser SVG pour obtenir un effet de mosaïque d'images Parlons de la façon d'utiliser SVG pour obtenir un effet de mosaïque d'images Sep 01, 2022 am 11:05 AM

Comment utiliser SVG pour obtenir un effet de mosaïque d’images sans utiliser Javascript ? L'article suivant vous donnera une compréhension détaillée, j'espère qu'il vous sera utile !

Erreur de compilation C++ : référence non définie, comment la résoudre ? Erreur de compilation C++ : référence non définie, comment la résoudre ? Aug 21, 2023 pm 08:52 PM

C++ est un langage de programmation populaire, mais lors de son utilisation, l'erreur de compilation « référence non définie » se produit souvent, ce qui pose beaucoup de problèmes au développement du programme. Cet article abordera la solution à l’erreur « référence non définie » à la fois en termes de cause et de solution. 1. Cause de l'erreur Lorsque le compilateur C++ compile un fichier source, celui-ci sera divisé en deux étapes : l'étape de compilation et l'étape de liaison. La phase de compilation convertit le code source des fichiers sources en code assembleur, tandis que la phase de liaison combine différents fichiers sources en un fichier exécutable.

Comment convertir le format svg au format jpg Comment convertir le format svg au format jpg Nov 24, 2023 am 09:50 AM

svg peut être converti au format jpg à l'aide d'un logiciel de traitement d'image, d'outils de conversion en ligne et de la bibliothèque de traitement d'image Python. Introduction détaillée : 1. Le logiciel de traitement d'images comprend Adobe Illustrator, Inkscape et GIMP ; 2. Les outils de conversion en ligne incluent CloudConvert, Zamzar, Online Convert, etc. ; 3. Bibliothèque de traitement d'images Python, etc.

Quels sont les avantages des fonctions C++ renvoyant des types référence ? Quels sont les avantages des fonctions C++ renvoyant des types référence ? Apr 20, 2024 pm 09:12 PM

Les avantages des fonctions renvoyant des types référence en C++ incluent : Améliorations des performances : le passage par référence évite la copie d'objets, économisant ainsi de la mémoire et du temps. Modification directe : L'appelant peut modifier directement l'objet de référence renvoyé sans le réaffecter. Simplicité du code : le passage par référence simplifie le code et ne nécessite aucune opération d'affectation supplémentaire.

Une analyse approfondie de la façon d'utiliser les icônes svg dans vue3+vite Une analyse approfondie de la façon d'utiliser les icônes svg dans vue3+vite Apr 28, 2022 am 10:48 AM

Les images svg sont largement utilisées dans les projets. L'article suivant explique comment utiliser les icônes svg dans vue3 + vite. J'espère que cela sera utile à tout le monde !

Comment utiliser la référence C++ et le passage de paramètres de pointeur ? Comment utiliser la référence C++ et le passage de paramètres de pointeur ? Apr 12, 2024 pm 10:21 PM

Les références et les pointeurs en C++ sont deux méthodes de transmission de paramètres de fonction, mais il existe des différences. Une référence est un alias pour une variable. La modification de la référence modifiera la variable d'origine, tandis que le pointeur stocke l'adresse de la variable. La modification de la valeur du pointeur ne modifiera pas la variable d'origine. Lorsque vous choisissez d'utiliser une référence ou un pointeur, vous devez prendre en compte des facteurs tels que la nécessité de modifier la variable d'origine, la nécessité ou non de transmettre une valeur nulle et les considérations de performances.

Erreur de syntaxe C++ : lorsqu'une fonction renvoie un pointeur ou une référence, elle ne peut pas renvoyer une variable locale ou un objet temporaire. Que dois-je faire ? Erreur de syntaxe C++ : lorsqu'une fonction renvoie un pointeur ou une référence, elle ne peut pas renvoyer une variable locale ou un objet temporaire. Que dois-je faire ? Aug 22, 2023 am 09:22 AM

C++ est un langage de programmation orienté objet, et sa flexibilité et sa puissance fournissent souvent une grande aide aux programmeurs. Cependant, précisément en raison de sa flexibilité, il est difficile d'éviter diverses petites erreurs lors de la programmation. L'une des erreurs les plus courantes est que lorsqu'une fonction renvoie un pointeur ou une référence, elle ne peut pas renvoyer de variables locales ou d'objets temporaires. Alors comment résoudre ce problème ? Cet article présentera le contenu pertinent en détail. La cause du problème est que dans le langage C++, les variables locales et les objets temporaires sont alloués dynamiquement lors de l'exécution de la fonction. Lorsque la fonction se termine, ces variables locales et temporaires

See all articles