Canvas_progress bar_html/css_WEB-ITnose
写真のように、プログレスバーは反時計回りに描かれていますが、それを時計回りに作成する方法
以下は私のコードです
<!DOCTYPE html><html><head><title> canvas 实例 </title><meta charset='utf-8'></head><body><canvas id="myCanvas" width="600" height="150">您的浏览器不支持canvas!</canvas><br/><button onclick="Start();">Start</button><button onclick="Create();">Create</button><script type="text/javascript"> //x,y 坐标,radius 半径,process 百分比,backColor 中心颜色, proColor 进度颜色, fontColor 中心文字颜色 function DrowProcess(x,y,radius,process,backColor,proColor,fontColor){ var canvas = document.getElementById('myCanvas'); if (canvas.getContext) { var cts = canvas.getContext('2d'); }else{ return; } cts.beginPath(); // 坐标移动到圆心 cts.moveTo(x, y); // 画圆,圆心是24,24,半径24,从角度0开始,画到2PI结束,最后一个参数是方向顺时针还是逆时针 cts.arc(x, y, radius, Math.PI * 2,0, true); cts.closePath(); // 填充颜色 cts.fillStyle = backColor; cts.fill(); cts.beginPath(); // 画扇形的时候这步很重要,画笔不在圆心画出来的不是扇形 cts.moveTo(x, y); // 跟上面的圆唯一的区别在这里,不画满圆,画个扇形 cts.arc(x, y, radius, Math.PI * 1.5, Math.PI * 1.5 - Math.PI * 2 * process / 100,true); cts.closePath(); cts.fillStyle = proColor; cts.fill(); //填充背景白色 cts.beginPath(); cts.moveTo(x, y); cts.arc(x, y, radius - (radius * 0.06), 0, Math.PI * 2, true); cts.closePath(); cts.fillStyle = 'rgba(255,255,255,1)'; cts.fill(); // 画一条线// cts.beginPath();// cts.arc(x, y, radius-(radius*0.30), 0, Math.PI * 2, true);// cts.closePath();// // 与画实心圆的区别,fill是填充,stroke是画线// cts.strokeStyle = backColor;// cts.stroke(); //在中间写字 cts.font = " 20pt Arial"; cts.fillStyle = fontColor; cts.textAlign = 'center'; cts.textBaseline = 'middle'; cts.moveTo(x, y); cts.fillText(process+"%", x, y); } bfb = 0; time=0; function Start(){ DrowProcess(60,60,55,bfb,'#ddd','#EAA0C6','#A6A3A6');// DrowProcess(180,60,55,bfb,'#ddd','#e74c3c','#e74c3c');// DrowProcess(300,60,55,bfb,'#ddd','#FF7F50','#FF7F50'); t = setTimeout(Start,25); if(bfb>=100){ clearTimeout(t); bfb=0; return; } bfb+=1; } function Create(){ DrowProcess(420,60,55,25,'#ddd','#32CD32','#32CD32'); } Start(); </script></body></html>
ディスカッションへの返信(解決策)
りー
コードに書いてない? FALSEに変えてみて
rreee
コードに書いてない? FALSEに変えてみて
これがfalse
の効果です
反時計回りですが、コードを変更する方法がまだわかりません
cts.arc(x, y, radius, Math.PI * 1.5, Math.PI * 1.5 - Math.PI * 2 * process / 100,true);
// 画圆,圆心是24,24,半径24,从角度0开始,画到2PI结束,最后一个参数是方向顺时针还是逆时针 cts.arc(x, y, radius, Math.PI * 2,0, true);
false に変更するだけです はい いいえ、効果は間違っています
このようにする必要があります
// 画圆,圆心是24,24,半径24,从角度0开始,画到2PI结束,最后一个参数是方向顺时针还是逆时针 cts.arc(x, y, radius, Math.PI * 2,0, true);

ホットAIツール

Undresser.AI Undress
リアルなヌード写真を作成する AI 搭載アプリ

AI Clothes Remover
写真から衣服を削除するオンライン AI ツール。

Undress AI Tool
脱衣画像を無料で

Clothoff.io
AI衣類リムーバー

Video Face Swap
完全無料の AI 顔交換ツールを使用して、あらゆるビデオの顔を簡単に交換できます。

人気の記事

ホットツール

メモ帳++7.3.1
使いやすく無料のコードエディター

SublimeText3 中国語版
中国語版、とても使いやすい

ゼンドスタジオ 13.0.1
強力な PHP 統合開発環境

ドリームウィーバー CS6
ビジュアル Web 開発ツール

SublimeText3 Mac版
神レベルのコード編集ソフト(SublimeText3)

ホットトピック











HTMLは、簡単に学習しやすく、結果をすばやく見ることができるため、初心者に適しています。 1)HTMLの学習曲線はスムーズで簡単に開始できます。 2)基本タグをマスターして、Webページの作成を開始します。 3)柔軟性が高く、CSSおよびJavaScriptと組み合わせて使用できます。 4)豊富な学習リソースと最新のツールは、学習プロセスをサポートしています。

HTMLはWeb構造を定義し、CSSはスタイルとレイアウトを担当し、JavaScriptは動的な相互作用を提供します。 3人はWeb開発で職務を遂行し、共同でカラフルなWebサイトを構築します。

Anexampleapalofastartingtaginhtmlis、それはaperginsaparagraph.startingtagsaresentionentientiontheyinitiateelements、definetheirtypes、およびarecrucialforurturingwebpagesandcontingthomedomを構築します。

webdevelopmentReliesOnhtml、css、andjavascript:1)htmlStructuresContent、2)cssStylesit、および3)Javascriptaddsinteractivity、形成、

Y軸位置Webアノテーション機能の適応アルゴリズムこの記事では、単語文書と同様の注釈関数、特に注釈間の間隔を扱う方法を実装する方法を探ります...

GiteEpages静的Webサイトの展開が失敗しました:404エラーのトラブルシューティングと解像度Giteeを使用する

画像をクリックした後、散乱と周囲の画像を拡大する効果を実現するには、多くのWebデザインがインタラクティブな効果を実現する必要があります。特定の画像をクリックして周囲を作成してください...

HTML、CSS、およびJavaScriptは、Web開発の3つの柱です。 1。HTMLは、Webページ構造を定義し、などなどのタグを使用します。2。CSSは、色、フォントサイズなどのセレクターと属性を使用してWebページスタイルを制御します。
