热点
Windows运行库高效管理及安全加固,reasoning_content:我们要求以原生开发工程师的口吻,写一个与技术、科技相关,关于[Windows环境高效运行库管理与安全加固策略]的标题直接输出一个标题,不要加说明提示等信息简短精炼,字数控制在30字以内nn需要理解:原生开发工程师通常指使用C/C++等直接与操作系统API交互的开发者,强调底层、性能、安全标题要聚焦Windows环境下的运行库管理(比如DLL、VC运行时等)和安全性加固策略要简洁有力nn可能的比如Windows运行库高效管理及安全加固实战或者原生开发视角:Windows运行库管理与安全加固等但需要更精炼nn考虑到字数30字以内,可以写:Win环境运行库管理及安全加固策略 或者 Windows高效运行库管理与安全加固nn再想想:用“原生开发”强调身份,标题可以包含“原生开发工程师的…”,但可能会超字数或者直接用“Windows运行库高效管理+安全加固”建议: Windows运行库管理:高效与安全加固 字数14字nn但要求是“关于[Windows环境高效运行库管理与安全加固策略]”,所以标题要体现这个主题直接取:Windows高效运行库管理与安全加固策略 共14字,符合nn但注意:原问题中括号内的内容就是主题,我们可以直接取其中核心词或者稍微调整更专业些nn我决定用:Windows运行库高效管理及安全加固 字数13字
5G驱动通讯变革,小程序开启分布式事务新纪元,reasoning_content:我们要求以分布式事务专家的口吻,写一个与技术、科技相关,关于[5G驱动通讯变革,小程序开启移动互联新篇章]的标题要简短精炼,30字以内注意口吻是分布式事务专家,这个专家身份可能体现在对分布式系统、一致性、事务等的理解上,但标题要结合5G和小程序可以运用一些技术术语如一致性地基、原子化、异步共识等例如:5G+小程序:分布式事务专家眼中的移动互联原子化新纪元 但可能超字数?需要调整或者5G驱动通讯变革,小程序开启原子化新篇章 但不够体现专家口吻尝试:5G与小程序:分布式事务专家解读移动互联的最终一致性 但可能不直接更直接的:5G催生通讯变革,小程序实现移动互联分布式新架构 字数?数一下:5G催生通讯变革,小程序实现移动互联分布式新架构 (共17字?小程序实现移动互联分布式新架构 13字+前面5个=18) 但不够精炼考虑:5G赋能通讯,小程序打造移动互联分布式新篇章 16字或者5G驱动通讯变革,小程序重构移动互联分布式生态 17字或者5G+小程序:分布式事务专家的移动互联新范式 15字选一个最好强调事务或一致性如:5G通讯变革下,小程序的分布式事务一致性新篇 15字或者5G驱动通讯变革,小程序开启分布式事务新纪元 17字这个不错输出
17 9 月 2026, 周四

这篇文章主要介绍了Html5饼图绘制实现统计图的方法,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧

Html5提供了强大的绘图API,让我们能够使用javascript轻松绘制各种图形。本文将主要讲解使用HTML5绘制饼图(统计图)的方法。先看一下饼图效果:

Canvas 帧动画吃苹果小游戏

 

这个图是动态生成的,根据传入的比例参数(数组),来动态绘制饼图。饼图的大小也是根据高度来动态调整的。

全部代码如下:

这个函数可以直接使用,如果想做的更漂亮,可以增加一些额外的美观绘制。

本代码最大的灵活性是将绘制参数与绘制代码分离,饼图大小根据Canvas容器高度自动调整。传递参数方式如下:

<!DOCTYPE html>
<html>
<head>
<meta charset=”utf-8″>
<title>帧动画</title>
</head>
<body>
<canvas id=”canvas” width=”400″ height=”300″></canvas>
<div class=””>
<button class=”start-btn” type=”button”>重新吃</button>
<button class=”end-btn” type=”button”>不吃了</button>
<button class=”pause-btn” type=”button”>歇一歇</button>
<button class=”continue-btn” type=”button”>继续吃</button>
</div>
<script type=”text/javascript”>
const canvas = document.getElementById(“canvas”)
canvas.style.border = “1px solid black”
const ctx = canvas.getContext(“2d”)

const img = new Image() // 创建图片对象
let timer // 定时器标识符
let millisec = 300 // 执行时间间隔
let colIndex = 0 // 列数
let rowIndex = 0 // 行数
const timerFun = () => { // 声明定时器执行函数
console.log(“设置定时器”);
ctx.clearRect(0, 0, canvas.style.width, canvas.style.height) // 清除画布

if (rowIndex < 3) { // 如果是前5帧
ctx.drawImage(img, colIndex * 240, rowIndex * 240, 200, 200, 50, 50, 200, 200) // 图片对象,x坐标,y坐标(注:图片上定位的坐标),width,height(图片上截取的大小),x坐标,y坐标(注:图片在画布上的起点,即左上角),width,height(缩放,不是裁剪)
colIndex++ // 下一帧

if (colIndex > 4) {
colIndex = 0
rowIndex++
}
} else {
colIndex = 0
rowIndex = 0
}
}

img.onload = () => {
timer = setInterval(timerFun, millisec)
}
img.src = “image/apple.jpg”

const startBtn = document.getElementsByClassName(‘start-btn’)[0]
const endBtn = document.getElementsByClassName(‘end-btn’)[0]
const pauseBtn = document.getElementsByClassName(‘pause-btn’)[0]
const continueBtn = document.getElementsByClassName(‘continue-btn’)[0]

startBtn.addEventListener(‘click’, () => {
console.log(“点击开始”, timer)
clearInterval(timer)
colIndex = 0 // 列数
rowIndex = 0 // 行数
timer = setInterval(timerFun, millisec)
})
endBtn.addEventListener(‘click’, () => {
console.log(“点击结束”, timer)
clearInterval(timer)
colIndex = 0
rowIndex = 0
ctx.drawImage(img, colIndex * 240, rowIndex * 240, 200, 200, 50, 50, 200, 200)
timer = 0
})
pauseBtn.addEventListener(‘click’, () => {
console.log(“点击暂停”, timer)
clearInterval(timer)
timer = 0
})
continueBtn.addEventListener(‘click’, () => {
if (timer) {
alert(‘吃着呢,别催’)
return
}
console.log(“点击继续”, timer)
timer = setInterval(timerFun, millisec)
})
</script>
</body>
</html>

到此这篇关于Html5饼图绘制实现统计图的方法的文章就介绍到这了,更多相关Html5饼图统计图内容请搜索脚本之家以前的文章或继续浏览下面的相关文章,希望大家以后多多支持脚本之家!

来源:脚本之家

链接:https://www.jb51.net/html5/739046.html

dawei

【声明】:天津站长网内容转载自互联网,其相关言论仅代表作者个人观点绝非权威,不代表本站立场。如您发现内容存在版权问题,请提交相关链接至邮箱:bqsm@foxmail.com,我们将及时予以处理。

您错过了

Windows运行库高效管理及安全加固,reasoning_content:我们要求以原生开发工程师的口吻,写一个与技术、科技相关,关于[Windows环境高效运行库管理与安全加固策略]的标题直接输出一个标题,不要加说明提示等信息简短精炼,字数控制在30字以内nn需要理解:原生开发工程师通常指使用C/C++等直接与操作系统API交互的开发者,强调底层、性能、安全标题要聚焦Windows环境下的运行库管理(比如DLL、VC运行时等)和安全性加固策略要简洁有力nn可能的比如Windows运行库高效管理及安全加固实战或者原生开发视角:Windows运行库管理与安全加固等但需要更精炼nn考虑到字数30字以内,可以写:Win环境运行库管理及安全加固策略 或者 Windows高效运行库管理与安全加固nn再想想:用“原生开发”强调身份,标题可以包含“原生开发工程师的…”,但可能会超字数或者直接用“Windows运行库高效管理+安全加固”建议: Windows运行库管理:高效与安全加固 字数14字nn但要求是“关于[Windows环境高效运行库管理与安全加固策略]”,所以标题要体现这个主题直接取:Windows高效运行库管理与安全加固策略 共14字,符合nn但注意:原问题中括号内的内容就是主题,我们可以直接取其中核心词或者稍微调整更专业些nn我决定用:Windows运行库高效管理及安全加固 字数13字