


Animation H5 - un exemple de progression en pourcentage de dessin sur toile d'un cercle
1. Rendu
Principe
La première étape consiste à dessiner un cercle complet avec du personnalisé. couleur , la deuxième étape consiste à dessiner un cercle intérieur, son rayon doit être plus petit que le cercle extérieur et la couleur est personnalisée
La dernière étape consiste à dessiner un troisième cercle en fonction du pourcentage et la couleur est personnalisée.
Pour obtenir l'effet de la troisième étape du dessin dynamique, ajoutez simplement une fonction minuterie , tracez une distance de temps en temps et définissez un seuil
lorsqu'il est supérieur à ce seuil Effacez cette minuterie. Ce seuil est en fait la valeur en pourcentage à afficher. Chaque fois que vous dessinez 0,01.
Remarque : lorsque vous dessinez dans le minuteur, vous devez dessiner le cercle intérieur dans la deuxième étape, et le cercle vide est également dessiné dans le minuteur.
3. Points de connaissance
Formule de dessin : arc(x, y, radius, startRad, endRad, antihoraire)
Dessinez sur la toile avec le point de coordonnées (x, y) est un arc de cercle de centre et de rayon. L'arc de départ de cet arc est startRad et l'arc de fin est endRad. Le radian est ici calculé comme l'angle de rotation dans le sens des aiguilles d'une montre en fonction de la direction positive de l'axe des x (trois heures de l'horloge). Dans le sens inverse des aiguilles d'une montre, indique s'il faut commencer à dessiner dans le sens inverse des aiguilles d'une montre ou dans le sens des aiguilles d'une montre. Si c'est vrai, cela signifie dans le sens inverse des aiguilles d'une montre, et si c'est faux, cela signifie dans le sens des aiguilles d'une montre. Le paramètre antihoraire est facultatif et sa valeur par défaut est false, ce qui signifie dans le sens des aiguilles d'une montre.
4.jsCode source
<script src="jquery.min.js"></script><script>function circleProgress(value,average){ var canvas = document.getElementById("yuan"); var context = canvas.getContext('2d'); var _this = $(canvas), value= Number(value),// 当前百分比,数值 average = Number(average),// 平均百分比 color = "",// 进度条、文字样式 maxpercent = 100,//最大百分比,可设置 c_width = _this.width(),// canvas,宽度 c_height =_this.height();// canvas,高度 // 判断设置当前显示颜色 if( value== maxpercent ){ color="#29c9ad"; }else if( value> average ){ color="#27b5ff"; }else{ color="#ff6100"; } // 清空画布 context.clearRect(0, 0, c_width, c_height); // 画初始圆 context.beginPath(); // 将起始点移到canvas中心 context.moveTo(c_width/2, c_height/2); // 绘制一个中心点为(c_width/2, c_height/2),半径为c_height/2,起始点0,终止点为Math.PI * 2的 整圆 context.arc(c_width/2, c_height/2, c_height/2, 0, Math.PI * 2, false); context.closePath(); context.fillStyle = '#ddd'; //填充颜色 context.fill(); // 绘制内圆 context.beginPath(); context.strokeStyle = color; context.lineCap = 'square'; context.closePath(); context.fill(); context.lineWidth = 10.0;//绘制内圆的线宽度 function draw(cur){ // 画内部空白 context.beginPath(); context.moveTo(24, 24); context.arc(c_width/2, c_height/2, c_height/2-10, 0, Math.PI * 2, true); context.closePath(); context.fillStyle = 'rgba(255,255,255,1)'; // 填充内部颜色 context.fill(); // 画内圆 context.beginPath(); // 绘制一个中心点为(c_width/2, c_height/2),半径为c_height/2-5不与外圆重叠, // 起始点-(Math.PI/2),终止点为((Math.PI*2)*cur)-Math.PI/2的 整圆cur为每一次绘制的距离 context.arc(c_width/2, c_height/2, c_height/2-5, -(Math.PI / 2), ((Math.PI * 2) * cur ) - Math.PI / 2, false); context.stroke(); //在中间写字 context.font = "bold 18pt Arial"; // 字体大小,样式 context.fillStyle = color; // 颜色 context.textAlign = 'center'; // 位置 context.textBaseline = 'middle'; context.moveTo(c_width/2, c_height/2); // 文字填充位置 context.fillText(value+"%", c_width/2, c_height/2-20); context.fillText("正确率", c_width/2, c_height/2+20); } // 调用定时器实现动态效果 var timer=null,n=0; function loadCanvas(nowT){ timer = setInterval(function(){ if(n>nowT){ clearInterval(timer); }else{ draw(n); n += 0.01; } },15); } loadCanvas(value/100); timer=null; }; </script>
Enfin, vous devez appeler la méthode circleProgress et transmettre les paramètres correspondants. Le blogueur l'a écrit ainsi, qui se déclenche en cliquant sur le bouton. . .
<input onclick="circleProgress(10,50)" value="画圆" type="button"><canvas id="yuan"></canvas>
[Recommandations associées]
1. Dessin de base du canevas HTML5 et courbes de dessin
3 Partagez l'exemple de code de la barre de progression du cercle de toile h5
4. développement de programme Exemple de tutoriel de processus asynchrone de co-traitement
5Exemple de mise en œuvre du canevas H5 de progression du chargement dynamique circulaire
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Outils d'IA chauds

Undress AI Tool
Images de déshabillage gratuites

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

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

Clothoff.io
Dissolvant de vêtements AI

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 !

Article chaud

Outils chauds

Bloc-notes++7.3.1
Éditeur de code facile à utiliser et gratuit

SublimeText3 version chinoise
Version chinoise, très simple à utiliser

Envoyer Studio 13.0.1
Puissant environnement de développement intégré PHP

Dreamweaver CS6
Outils de développement Web visuel

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

Comment utiliser Canvas pour dessiner des graphiques et des effets d'animation dans Uniapp nécessite des exemples de code spécifiques 1. Introduction Avec la popularité des appareils mobiles, de plus en plus d'applications doivent afficher divers graphiques et effets d'animation sur le terminal mobile. En tant que framework de développement multiplateforme basé sur Vue.js, uniapp offre la possibilité d'utiliser un canevas pour dessiner des graphiques et des effets d'animation. Cet article présentera comment Uniapp utilise Canvas pour obtenir des effets de graphique et d'animation, et donnera des exemples de code spécifiques. 2. toile

Les versions de html2canvas incluent html2canvas v0.x, html2canvas v1.x, etc. Introduction détaillée : 1. html2canvas v0.x, qui est une première version de html2canvas. La dernière version stable est la v0.5.0-alpha1. Il s'agit d'une version mature qui a été largement utilisée et vérifiée dans de nombreux projets ; 2. html2canvas v1.x, il s'agit d'une nouvelle version de html2canvas.

Explorez le framework Canvas : Pour comprendre quels sont les frameworks Canvas couramment utilisés, des exemples de code spécifiques sont nécessaires. Introduction : Canvas est une API de dessin fournie en HTML5, grâce à laquelle nous pouvons obtenir des graphiques et des effets d'animation riches. Afin d'améliorer l'efficacité et la commodité du dessin, de nombreux développeurs ont développé différents frameworks Canvas. Cet article présentera certains frameworks Canvas couramment utilisés et fournira des exemples de code spécifiques pour aider les lecteurs à mieux comprendre comment utiliser ces frameworks. 1.Cadre EaselJSEa

Les détails de l'horloge sur toile incluent l'apparence de l'horloge, les graduations, l'horloge numérique, les aiguilles des heures, des minutes et des secondes, le point central, les effets d'animation, d'autres styles, etc. Introduction détaillée : 1. Apparence de l'horloge, vous pouvez utiliser Canvas pour dessiner un cadran circulaire comme apparence de l'horloge, et vous pouvez définir la taille, la couleur, la bordure et d'autres styles du cadran 2. Lignes d'échelle, tracez des lignes d'échelle dessus ; le cadran pour représenter les heures ou les minutes. Position ; 3. Horloge numérique, vous pouvez dessiner une horloge numérique sur le cadran pour indiquer l'heure et les minutes actuelles ; 4. Aiguille des heures, aiguille des minutes, aiguille des secondes, etc.

Les plug-ins de flèches du canevas incluent : 1. Fabric.js, qui possède une API simple et facile à utiliser et peut créer des effets de flèche personnalisés ; 2. Konva.js, qui fournit la fonction de dessiner des flèches et peut créer diverses flèches ; styles ; 3. Pixi.js, qui fournit des fonctions de traitement graphique riches et peut obtenir divers effets de flèche ; 4. Two.js, qui peut facilement créer et contrôler des styles de flèches et des animations 5. Arrow.js, qui peut créer divers effets de flèche ; ; 6. Rough .js, vous pouvez créer des flèches dessinées à la main, etc.

Comprendre la puissance et l'application du canevas dans le développement de jeux Présentation : Avec le développement rapide de la technologie Internet, les jeux Web deviennent de plus en plus populaires parmi les joueurs. En tant qu'élément important du développement de jeux Web, la technologie Canvas a progressivement émergé dans le développement de jeux, démontrant sa puissance et ses applications puissantes. Cet article présentera le potentiel du canevas dans le développement de jeux et démontrera son application à travers des exemples de code spécifiques. 1. Introduction à la technologie Canvas Canvas est un nouvel élément HTML5 qui nous permet d'utiliser

Les attributs du canevas tkinter incluent bg, bd, relief, width, height, curseur, highlightbackground, highlightcolor, highlightthickness, insertbackground, insertwidth, selectbackground, selectforeground, les attributs xscrollcommand, etc. Présentation détaillée

Comment obtenir les coordonnées de la souris pour le canevas : 1. Créez un exemple de fichier JavaScript ; 2. Obtenez une référence à l'élément Canvas et ajoutez un écouteur pour les événements de mouvement de la souris. 3. Lorsque la souris se déplace sur le canevas, la fonction getMousePos sera déclenchée. ; 4. Utiliser La méthode "getBoundingClientRect()" obtient les informations de position et de taille de l'élément Canvas et obtient les coordonnées de la souris via event.clientX et event.clientY.
