Définir un cercle / arc animation SVG
Personne ne sait comment définir une animation d'arc /cercle en SVG, tels que l'arc commence à 0 degrés et se termine à 360 degrés?
Je veux animer l'angle de balayage, mais en SVG un arc est défini en utilisant les points de début et fin.
OriginalL'auteur GarethOwen | 2010-07-15
Vous devez vous connecter pour publier un commentaire.
vous pouvez la peindre "à la main" à l'aide du chemin de lineto et de calculer la position de l'arc:
http://jsfiddle.net/k99jy/138/
Êtes-vous de la programmation pour le web? L'exemple de script fonctionne dans firefox, safari, chrome et opera! Comme alternative, vous pouvez également utiliser SMIL - mais qui ne fonctionne pas dans tous les navigateurs
J'ai écrit une autre réponse à expliquer mon architecture en détail - s'il vous plaît voir ci-dessous, et merci encore pour l'aide.
OriginalL'auteur räph
Une façon est d'utiliser un cercle, et d'animer la avc-dashoffset (vous avez besoin d' 'stroke-dasharray' trop). Un exemple d'une telle animation (non pas un cercle, mais le même principe s'applique) peut être vu ici.
L'autre option est d'utiliser un chemin d'accès de l'animation, et l'arc chemin des segments, pour animer/fondu enchaîné entre les chemins de voir ce exemple.
OriginalL'auteur Erik Dahlström
Vous pouvez également dessiner les SVG à la main à l'aide d'un
circle
et la technique suivante:circle
unstroke
.stroke
dashed
avec un tiret longueur égale à la circonférence du cercle.stroke
par une longueur égale à la circonférence du cercle.HTML:
CSS:
jsfiddle
source: https://css-tricks.com/svg-line-animation-works/
OriginalL'auteur Raphael Rafatpanah
Ou peut-être vous pourrait découvrir un pré-cercle dessiné pour donner l'effet requis:
OriginalL'auteur
Merci pour les réponses, voici un peu plus d'information concernant la raison pour laquelle je veux animer un cercle en SVG:
Nous avons un serveur de la demande du client. J'ai l'intention de générer des images SVG pour représenter des graphiques (diagrammes, les graphiques et les diagrammes à barres) sur le serveur et envoyer le SVG pour les clients.
Nous avons de Java et de .NET clients. Je vais écrire le code côté client pour analyser et rendre le SVG images reçues du serveur.
J'ai l'intention de n'utiliser qu'un sous-ensemble du format SVG - pas plus que ce que nous avons besoin de représenter nos cartes, mais l'animation est une exigence.
À Long terme, il serait agréable d'avoir un client ajax - qui va s'exécuter sur les navigateurs sans java ou .NET runtime. C'est pourquoi j'ai choisi le format SVG.
Pour une solution à court terme maintenant, je pense que je vais ajouter mon propre élément de la SVG, la définition d'un arc à l'aide de début et de balayage angles. Ensuite, je peux facilement définir l'animation j'ai besoin d'en animant l'angle de balayage et fait ma mise en œuvre simple.
À Long terme - si nous avons vraiment autour de imlpementing AJAX/HTML client, je vais avoir à re-mettre en œuvre et tenir à la norme SVG.
Oui, je parse le XML et peindre les éléments à l'aide de native Api Graphiques (Graphics2D en java, GDI+.NET.)
Vous devriez modifier votre question au lieu d'y répondre. Par la route, vous pouvez utiliser halfstroked cercles à tirer de l'arc; Le codepen dans ma réponse vous présenter une animation.
OriginalL'auteur GarethOwen