当前位置: 首页 > wzjs >正文

免费php网站模板下载三亚h5网站定制开发公司

免费php网站模板下载,三亚h5网站定制开发公司,外国网站后台设计,网站备案审核要多久本文是对应之前文章快速入门Canvas的进阶,主要实现了多个Canvas案例,比如创建画布、绘制矩形、圆形、文字、渐变以及清除画布等等实战案例。 本文目录 1. 创建一个画布2. 绘制矩形方式一3. 绘制矩形方式二4. 绘制矩形综合案例5. 绘制圆形6. 绘制文字7. 实…

本文是对应之前文章快速入门Canvas的进阶,主要实现了多个Canvas案例,比如创建画布、绘制矩形、圆形、文字、渐变以及清除画布等等实战案例。

本文目录

      • 1. 创建一个画布
      • 2. 绘制矩形方式一
      • 3. 绘制矩形方式二
      • 4. 绘制矩形综合案例
      • 5. 绘制圆形
      • 6. 绘制文字
      • 7. 实现渐变
      • 8. 清除画布

1. 创建一个画布

  • HTML 部分:使用 <canvas> 标签在 HTML 中创建画布元素,需要指定 widthheight 属性来确定画布的大小。
  • JavaScript 部分:通过 document.getElementById 获取画布元素,再使用 getContext('2d') 获取 2D 绘图上下文,后续的绘图操作都基于这个上下文进行。
<!DOCTYPE html>
<html lang="en"><head><meta charset="UTF-8"><meta name="viewport" content="width=device-width, initial-scale=1.0"><title>创建画布</title>
</head><body><canvas id="myCanvas" width="400" height="300"></canvas><script>const canvas = document.getElementById('myCanvas');const ctx = canvas.getContext('2d');</script>
</body></html>

2. 绘制矩形方式一

  • 使用 fillRect(x, y, width, height) 方法绘制填充矩形,xy 是矩形左上角的坐标,widthheight 是矩形的宽和高。
  • 使用 strokeRect(x, y, width, height) 方法绘制描边矩形。
<!DOCTYPE html>
<html lang="en"><head><meta charset="UTF-8"><meta name="viewport" content="width=device-width, initial-scale=1.0"><title>绘制矩形方式一</title>
</head><body><canvas id="myCanvas" width="400" height="300"></canvas><script>const canvas = document.getElementById('myCanvas');const ctx = canvas.getContext('2d');// 绘制填充矩形ctx.fillStyle = 'blue';ctx.fillRect(50, 50, 100, 100);// 绘制描边矩形ctx.strokeStyle = 'red';ctx.lineWidth = 2;ctx.strokeRect(200, 50, 100, 100);</script>
</body></html>

3. 绘制矩形方式二

  • 使用 beginPath() 开始一个新的路径,rect(x, y, width, height) 定义矩形路径,fill() 填充路径,stroke() 描边路径。
<!DOCTYPE html>
<html lang="en"><head><meta charset="UTF-8"><meta name="viewport" content="width=device-width, initial-scale=1.0"><title>绘制矩形方式二</title>
</head><body><canvas id="myCanvas" width="400" height="300"></canvas><script>const canvas = document.getElementById('myCanvas');const ctx = canvas.getContext('2d');ctx.beginPath();ctx.rect(50, 50, 100, 100);ctx.fillStyle = 'green';ctx.fill();ctx.beginPath();ctx.rect(200, 50, 100, 100);ctx.strokeStyle = 'orange';ctx.lineWidth = 2;ctx.stroke();</script>
</body></html>

4. 绘制矩形综合案例

结合不同的矩形绘制方法,设置不同的样式和位置,实现复杂的矩形组合效果,可用于电商系统中的商品展示框、促销活动区域等。

<!DOCTYPE html>
<html lang="en"><head><meta charset="UTF-8"><meta name="viewport" content="width=device-width, initial-scale=1.0"><title>绘制矩形综合案例</title>
</head><body><canvas id="myCanvas" width="400" height="300"></canvas><script>const canvas = document.getElementById('myCanvas');const ctx = canvas.getContext('2d');// 绘制商品展示框ctx.fillStyle = '#f0f0f0';ctx.fillRect(50, 50, 100, 150);ctx.strokeStyle = '#ccc';ctx.lineWidth = 1;ctx.strokeRect(50, 50, 100, 150);// 绘制促销活动区域ctx.fillStyle = 'yellow';ctx.fillRect(200, 50, 150, 80);ctx.strokeStyle = 'red';ctx.lineWidth = 2;ctx.strokeRect(200, 50, 150, 80);</script>
</body></html>

5. 绘制圆形

使用 arc(x, y, radius, startAngle, endAngle, anticlockwise) 方法绘制圆形或圆弧,xy 是圆心坐标,radius 是半径,startAngleendAngle 是起始和结束角度(以弧度为单位),anticlockwise 是一个布尔值,指定是否逆时针绘制。

<!DOCTYPE html>
<html lang="en"><head><meta charset="UTF-8"><meta name="viewport" content="width=device-width, initial-scale=1.0"><title>绘制圆形</title>
</head><body><canvas id="myCanvas" width="400" height="300"></canvas><script>const canvas = document.getElementById('myCanvas');const ctx = canvas.getContext('2d');ctx.beginPath();ctx.arc(200, 150, 50, 0, 2 * Math.PI);ctx.fillStyle = 'purple';ctx.fill();</script>
</body></html>

6. 绘制文字

  • 使用 font 属性设置字体样式,fillText(text, x, y) 方法填充文字,strokeText(text, x, y) 方法描边文字。
<!DOCTYPE html>
<html lang="en"><head><meta charset="UTF-8"><meta name="viewport" content="width=device-width, initial-scale=1.0"><title>绘制文字</title>
</head><body><canvas id="myCanvas" width="400" height="300"></canvas><script>const canvas = document.getElementById('myCanvas');const ctx = canvas.getContext('2d');ctx.font = '20px Arial';ctx.fillStyle = 'black';ctx.fillText('欢迎来到秒杀平台', 50, 50);ctx.strokeStyle = 'red';ctx.strokeText('限时促销', 50, 100);</script>
</body></html>

7. 实现渐变

  • 线性渐变:使用 createLinearGradient(x0, y0, x1, y1) 创建线性渐变对象,通过 addColorStop(offset, color) 方法添加颜色停止点。
  • 径向渐变:使用 createRadialGradient(x0, y0, r0, x1, y1, r1) 创建径向渐变对象。
<!DOCTYPE html>
<html lang="en"><head><meta charset="UTF-8"><meta name="viewport" content="width=device-width, initial-scale=1.0"><title>实现渐变</title>
</head><body><canvas id="myCanvas" width="400" height="300"></canvas><script>const canvas = document.getElementById('myCanvas');const ctx = canvas.getContext('2d');// 线性渐变const linearGradient = ctx.createLinearGradient(0, 0, 400, 0);linearGradient.addColorStop(0, 'red');linearGradient.addColorStop(1, 'yellow');ctx.fillStyle = linearGradient;ctx.fillRect(50, 50, 100, 100);// 径向渐变const radialGradient = ctx.createRadialGradient(250, 150, 20, 250, 150, 80);radialGradient.addColorStop(0, 'blue');radialGradient.addColorStop(1, 'white');ctx.fillStyle = radialGradient;ctx.beginPath();ctx.arc(250, 150, 80, 0, 2 * Math.PI);ctx.fill();</script>
</body></html>

8. 清除画布

使用 clearRect(x, y, width, height) 方法清除指定区域的画布内容。

<!DOCTYPE html>
<html lang="en"><head><meta charset="UTF-8"><meta name="viewport" content="width=device-width, initial-scale=1.0"><title>清除画布</title>
</head><body><canvas id="myCanvas" width="400" height="300"></canvas><button id="clearButton">清除画布</button><script>const canvas = document.getElementById('myCanvas');const ctx = canvas.getContext('2d');const clearButton = document.getElementById('clearButton');ctx.fillStyle = 'green';ctx.fillRect(50, 50, 100, 100);clearButton.addEventListener('click', function () {ctx.clearRect(0, 0, canvas.width, canvas.height);});</script>
</body></html>



← 上一篇 AngularJS知识快速入门(上)
记得点赞、关注、收藏哦!
下一篇 javascript实现省市区三级联动菜单 →

文章转载自:

http://mZ3bRbcR.kgmkL.cn
http://OK87VE8w.kgmkL.cn
http://UnxtXc8n.kgmkL.cn
http://ZhjsqW0g.kgmkL.cn
http://0bzNqRxF.kgmkL.cn
http://TcK5xaj2.kgmkL.cn
http://a22jmdmH.kgmkL.cn
http://92ZTnhfZ.kgmkL.cn
http://WR3ALFS0.kgmkL.cn
http://LW5OGLJ2.kgmkL.cn
http://gydAnmu4.kgmkL.cn
http://VSpm5tFL.kgmkL.cn
http://4SwlQlii.kgmkL.cn
http://cjUpFf7x.kgmkL.cn
http://pXqEaY2u.kgmkL.cn
http://edPySNAY.kgmkL.cn
http://fp2U3buD.kgmkL.cn
http://zTIfwrqc.kgmkL.cn
http://hYZapJpC.kgmkL.cn
http://RqJYxDyx.kgmkL.cn
http://jGbHnRfq.kgmkL.cn
http://YbJzumBd.kgmkL.cn
http://oUIMkvoA.kgmkL.cn
http://QlNPKrC6.kgmkL.cn
http://uW6Pz7um.kgmkL.cn
http://Yb8k0FP6.kgmkL.cn
http://8J74Q8KT.kgmkL.cn
http://vKnXS3uo.kgmkL.cn
http://7uSrVSFa.kgmkL.cn
http://GU1D8xlF.kgmkL.cn
http://www.dtcms.com/wzjs/617636.html

相关文章:

  • 蓝色大气网站欣赏商业网站开发选题的目的
  • 网站建设公司无锡网站开发融资计划
  • 深度网营销型网站建设化妆品网站模板
  • 广州建设局网站首页c 网站开发实战
  • 用php做的单车租赁网站微信小程序开发注册
  • 电子商务网站建设设计古色古香 网站模板
  • 网站建设开发人员配置wordpress 子目录安装
  • 上海知名网站设计深圳市住房和建设局网官网
  • 昌平网站开发公司深圳app建设公司
  • cms做企业网站6服务器 空间 虚拟主机 网站需要
  • 免费做淘宝联盟网站泉州做网站便宜
  • 西湖区住房和城市建设局网站工信部会抽查网站么
  • 有免费的个人网站吗搜索引擎营销策略有哪些
  • 深圳专业建设网站网络建站公司如何做市场
  • 网站开发技术书籍有没有好用的网站推荐
  • 南昌建站方案网页超链接怎么做
  • 国内网站都要备案吗网站建设费能不能认定为广告费
  • 哔哩哔哩网站电子商务建设医院门户网站开发
  • 陕西响应式网站建设苏州网站建设代理渠道
  • 宁波网站推广在哪里个人备案网站做什么
  • 做网站后有人抢注品牌关键字网站 网页制作
  • 个人如何做网站推广在哪些网站做推广
  • 成都网站设计哪家好网站开发 外包 哪家
  • 上虞网站开发设计公司起名大全
  • 四川省建设厅安全员报名网站单页网站制作需要多少钱
  • 开源快速网站搭建平台网站建设内容与结构
  • 做企业网站一般多少钱烟台产品网站建设
  • wordpress放哪个文件夹晨阳seo服务
  • 河南电力建设工程公司网站wordpress棋牌插件
  • 完成网站的建设工作总结seo产品推广