美文网首页
canvas 保存、恢复、清空重绘

canvas 保存、恢复、清空重绘

作者: 暴躁程序员 | 来源:发表于2025-01-06 09:13 被阅读0次
<!DOCTYPE html>
<html lang="en">
  <head>
    <meta charset="UTF-8" />
    <meta name="viewport" content="width=device-width, initial-scale=1.0" />
    <title>canvas 保存、恢复、清空重绘</title>
    <style>
      #canvas {
        background-color: #f9f9f9;
      }
    </style>
  </head>

  <body>
    <canvas id="canvas">浏览器不支持 canvas </canvas>
  </body>
  <script>
  var canvas = document.getElementById('canvas')
  var ctx = canvas.getContext('2d')
  canvas.height = 500
  canvas.width = 1000

  ctx.fillStyle = 'red'
  ctx.fillRect(20, 20, 50, 50)
  ctx.save() // 保存:ctx.save() 保存当前Canvas画布状态并放在栈的最上面,可以使用restore()方法依次取出。

  ctx.fillStyle = 'green'
  ctx.fillRect(20, 80, 50, 50)

  ctx.restore() // 恢复:ctx.restore() 恢复到上一个 save() 方法之前的状态,相当于恢复到以前的某个 save 节点,解决了绘制状态总是多个重置的问题
  ctx.fillRect(20, 150, 100, 100)

  ctx.fillStyle = 'blue'
  ctx.fillRect(320, 20, 300, 150)
  ctx.clearRect(365, 60, 66, 66) // 清空:ctx.clearRect(x, y, width, height); 相当于橡皮擦,擦掉指定区域的内容
  </script>
</html>

相关文章

  • 3.canvas动画

    动画的基本步骤 清空canvas 保存canvas状态如果会改变 canvas 状态的设置(样式,变形之类的),又...

  • canvas常用操作

    save()保存画布(canvas)的所有状态restore()save 和 restore 方法是用来保存和恢复...

  • Canvas学习笔记之动画

    Canvas 学习笔记之动画 -- by Damon 动画的基本步骤 清空 保存状态 绘制图形(animated ...

  • canvas运动

    canvas的运动,是一个不断清除画布内容,不断重绘,因为canvas类似一张图片,所以它的重绘一部分和重绘整个画...

  • Android绘图之Canvas状态保存和恢复(7)

    Android 绘图学习 1 Canvas 状态保存和恢复 前面讲canvas概念理解时已经讲解了save和sav...

  • UGUI工具——获取Canvas网格重建的UI元素

    当Canvas需要重绘UI时,Unity内部会调用Canvas.SendWillRenderCanvas,进行网格...

  • 小程序canvas弧形进度条

    canvas弧形进度条,实现如图。 canvas重绘分数,如rgba底色会覆盖逐渐变白,暂时十六进制。canvas...

  • canvas之save、restore详解

    解释 Canvas的save()、restore()这两个方法字面意思就是保存、恢复,但为什么要保存和回复呢?不保...

  • Canvas学习笔记之变形

    Canvas 学习笔记之变形 -- by Damon 状态保存和恢复 状态包括: 当前的移动、旋转、缩放 stro...

  • bizCharts图表canvas保存为图片

    1.bizCharts自带函数 2.获取canvas dom元素,模拟a元素点击 3.重绘canvas,设置背景为白色

网友评论

      本文标题:canvas 保存、恢复、清空重绘

      本文链接:https://www.haomeiwen.com/subject/fahosjtx.html