Canvas之进度条的制作(矩形,圆环)

Canvas之进度条的绘制

基本进度条的绘制

1.矩形进度条

关键语法

  1. 获取画笔

    var ctx=document.getElementById(“id”).getContext(“2d”);

  2. 填充颜色

    ctx.fillStytle=“color”;

  3. setInternal()和clearInternal()的使用

代码(两种类型):

`

<!DOCTYPE html>
<html><head><meta charset="utf-8"><title>矩形进度条搭建</title><style>body{text-align: center;}
canvas{background-color: lightblue;}</style>
</head>
<body><h1>进度条的世界</h1><canvas id="c4" width="500" height="400"></canvas><script><!-- 矩形进度条 -->var ctx=document.getElementById("c4").getContext("2d");  //画笔var x=100;var y=180;var xMove=1;var process=setInterval(function(){ctx.clearRect(0,180,400,20);   //擦掉重新绘制ctx.fillStyle="darkgrey";      //填充颜色ctx.fillRect(100,180,300,20);  //填充矩形ctx.fillStyle="green";if(x<=400-30){ctx.fillRect(x,y,30,20);x+=xMove*30;}else   //两种其中加载完毕模式,我进行了注释,需要尝试的可自己引用{x=100;               //重新开始进度条// 加载完毕模式// clearInterval(process);// ctx.clearRect(0,180,400,20);// alert("加载完毕!");}},200)</script>
</body>
</html>`

运行结果:

给你看点好看的东西哈哈,一个视频来看结果:

https://www.bilibili.com/video/BV1AQ4y1o7TM

2.圆形进度条的绘制

关键语法

  1. 获取画笔

var ctx=document.getEelementById(“id”).getContext(“2d”);

  1. 设置画笔宽度(圆环形需要,扇形需要)

ctx.lineWidth=20(根据需要自己设置);

  1. 分别设置两个圆环,第一个颜色为转动的进度条的颜色,第二个颜色为总进度条的背景色,根据下面语法自己计算度数绘画。

    context.arc(x,y,r,sAngle,eAngle,counterclockwise)
    

参数表

度数计算(注意开始角的位置):

度数计算

案例代码:

1.圆环形(两种)

`

<!DOCTYPE html>
<html><head><meta charset="utf-8"><title>圆形进度条的绘制</title><style>body{text-align: center;}		canvas{background-color: lightblue;}</style>
</head>
<body><h1>圆形进度条</h1><canvas id="c5" width="500" height="400"></canvas><script>var  ctx=document.getElementById("c5").getContext("2d");   //获取画笔ctx.lineWidth="20";       //调节画笔宽度(即圆环粗细)var degree=360;var process=setInterval(function(){ctx.clearRect(0,0,500,400);    //擦掉,重新绘制//用设计的底色圆环ctx.strokeStyle="darkgreen";ctx.beginPath();ctx.arc(250,200,100,0,2*Math.PI);     //画圆ctx.stroke();                        //第二个圆环if(degree>=0){ctx.strokeStyle="darkgrey";      //描边底色ctx.beginPath();ctx.arc(250,200,100,3*Math.PI/2,degree/360*Math.PI*2-Math.PI/2);ctx.stroke();degree-=3;}else{//循环加载degree=360;//一次加载完毕clearInterval(process);     //结束循环alert("加载完毕!");ctx.clearRect(0,0,500,400);}},200)</script>
</body>
</html>`

运行结果(一个简短视频先瞅瞅):

视频链接源地址(欢迎点赞哦绘哈哈):

是循环不止,还是踏出迷雾

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/428129.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

该文件没有与之关联的程序来执行该操作_Liunx tty子系统分析之三 tty字符设备文件操作接口说明...

本章主要介绍tty字符设备文件对应的操作接口&#xff0c;从而说明tty设备的数据打开、关闭、读、写等接口的实现等内容。tyy file_operations定义tty字符设备文件操作接口的定义如下&#xff0c;主要包括tty_fops、console_fops、hung_up_tty_fops&#xff0c;其中console_fops…

jboss安装

找到压缩包 打开eclipse help 倒数第三个 找到hibernate.tools 转载于:https://www.cnblogs.com/xusongfeng/p/8473311.html

初学echart的简单使用

简单的echart使用方法 1.引入外部echart的js文件 <script type"text/javascript" src"js/echarts.min.js"></script> 2.建立放置容器&#xff0c;div使用放置容器布局 放置容器配置 <style>body {text-align: center;}#domain1 {widt…

如何编写一个python项目

https://www.liaoxuefeng.com/wiki/001374738125095c955c1e6d8bb493182103fac9270762a000/001397616003925a3d157284cd24bc0952d6c4a7c9d8c55000 实战Day 1 - 搭建开发环境Day 2 - 编写数据库模块Day 3 - 编写ORMDay 4 - 编写ModelDay 5 - 编写Web框架Day 6 - 添加配置文件Day …

列名 userid 不明确。 表结构_那些你不知道的表结构设计思路

ERP表结构的设计--第9篇用日志记录“开源软件”的诞生赤龙ERP开源地址&#xff1a;点亮星标&#xff0c;感谢支持&#xff0c;与开发者交流 kzca2000码云&#xff1a;https://gitee.com/redragon/redragon-erpGitHub&#xff1a;https://github.com/redragon1985/redragon-erp赤…

echart的进阶使用(option)

echart的option进阶使用 1.title: { text: 折线图堆叠subtext: 有一定误差,left: center }title用来配置标题 subtext:副标题 left:位置 2.tooltip: { trigger: axis }图标的提示框组件 trigger&#xff08;触发方式&#xff09;:axis(坐标轴) item(数据项) 3.legend: {…

python找人_python之找最后一个人

题目大概是:有10个人围成一圈&#xff0c;从第一个人数&#xff0c;数到3的人出局&#xff0c;问最后一个人是谁?围成一圈&#xff0c;那就是无限循环&#xff0c;直至最后一个人&#xff0c;我们可以把10个人看做一个列表&#xff0c;每循环一次就把除3为0的数去除&#xff0…

PCL—关键点检测(rangeImage)低层次点云处理

博客转载自&#xff1a;http://www.cnblogs.com/ironstark/p/5046479.html 关键点又称为感兴趣的点&#xff0c;是低层次视觉通往高层次视觉的捷径&#xff0c;抑或是高层次感知对低层次处理手段的妥协。 ——三维视觉关键点检测 1.关键点&#xff0c;线&#xff0c;面 关键点 …

lombok的使用三部曲及使用中遇到的问题(持续更新)

lombok的使用 1.安装lombok插件 工欲善其事&#xff0c;必先利其器&#xff08;这一点是不能忘记的&#xff0c;好多小伙伴可能只导入了依赖&#xff0c;却忘了去下载安装插件&#xff09; 2.导入lombok依赖&#xff0c;看准了千万别倒错 导入依赖&#xff0c;记得更新PoM文件…

python gui 自动化_python GUI测试自动化

#! /usr/bin/env python#codingGB18030GUI测试自动化语言:python模块&#xff1a;pywinauto环境&#xff1a;windows7中文、python-2.6_32bit、pywinauto-0.40、SendKeys-0.3FuncName: pywinauto_notepad.pyDesc: study pywinautoDate: 2017-4-10 10:30Author: 雷小莫_codeHome…

Spring的使用——基础环境搭建以及IOC概念理解(持续更新)

spring基础环境搭建 1.添加Spring依赖 2.编写一个Spring的配置文件 3.通过Spring的应用程序应用上下文获取对象 优点:在修改方案时可以不用修改代码&#xff0c;只需修改配置文件的bean就可以。 spring的基本测试过程 1.获取上下文对象ctx ApplicationContext ctxnew Cl…

Windows10搭建FTP服务器

https://www.cnblogs.com/zjiacun/p/6868457.html 转载于:https://www.cnblogs.com/jonathanyue/p/9301195.html

详细设计说明书示例_专利说明书常用句型汇总

第六课 说明书常用句型1. 以上一般描述和以下的详细说明都只是本发明的示例&#xff0c;并旨在提供概况或框架&#xff0c;用来理解如本发明所主张的本发明的本质和特征。It is to be understood that both the foregoing general description and the following detailed desc…

Please remove usages of `jcenter()` Maven repository from your build scripts and migrate your build

解决步骤如下: 1.打开project下的build.grade 2.将jcenter()注释掉或者直接删除本行代码。 3.sync now

mysql 添加唯一索引_浅谈Mysql索引

文章原创于公众号&#xff1a;程序猿周先森。本平台不定时更新&#xff0c;喜欢我的文章&#xff0c;欢迎关注我的微信公众号。我们都知道&#xff0c;数据库索引可以帮助我们更加快速的找出符合的数据&#xff0c;但是如果不使用索引&#xff0c;Mysql则会从第一条开始查询&am…

Flask第一篇——URL详解

原创 2018-02-14 孟船长 自动化测试实战URL是Uniform Resource Locator的缩写&#xff0c;即统一资源定位符。 一个URL通常由一下几个部分组成&#xff1a; scheme://host:port/path/?query-stringxxx#anchor scheme&#xff1a;代表访问协议&#xff0c;一般为http&#xff0…

Linux优盘挂载卸载以及文件查看

1.插入优盘&#xff0c;连接到虚拟机 这一步差点整死我&#xff0c;老弹出这个也没在意&#xff0c;后来查看盘的时候找不到自己的优盘&#xff0c;傻眼了。 如果你的优盘也是3.0接口&#xff0c;那么请看3.0的正确打开方式: 找到虚拟机设置(我这里下载的是8.0版本的Centos&a…

mysql编程_PHP数据库编程之一MySQL优化策略概述

本文简单讲述了PHP数据库编程之MySQL优化策略。分享给大家供大家参考&#xff0c;具体如下&#xff1a;前些天看到一篇文章说到PHP的瓶颈很多情况下不在PHP自身&#xff0c;而在于数据库。我们都知道&#xff0c;PHP开发中&#xff0c;数据的增删改查是核心。为了提升PHP的运行…

mysql六:数据备份、pymysql模块

阅读目录 一 MySQL数据备份 二 pymysql模块 一 MySQL数据备份 #1. 物理备份&#xff1a; 直接复制数据库文件&#xff0c;适用于大型数据库环境。但不能恢复到异构系统中如Windows。 #2. 逻辑备份&#xff1a; 备份的是建表、建库、插入等操作所执行SQL语句&#xff0c;适用于中…

测试程序运行时间

在初步学习算法的时候&#xff0c;都喜欢一个词叫优化算法&#xff0c;经常做的事情就是比较两个实现同种功能的程序的运行时间。测试运行时间的函数&#xff0c;这就来安利一波。 1.时间函数头文件 #include<time.h> 2.设置初始时间和结束时间的变量。 int begin,end; d…