• canvas学习


    canvas 是一块画布,可以设置宽高 ,默认 300 * 150

    使用方式

    1. 声明书写 canvas标签

    2. 拿到canvas的dom

    3. 调用方法 getContext (注意 此方法在prototype上)

     方法集合:

    填充:

    1. fillStyle, 设置填充颜色  ,不设置默认为黑色

    2. fillRect , 4个参数  x y  宽 高

    画笔:

    3. strokeStyle 设置画笔的颜色

    4. strokeRect 4个参数  x y  宽 高的颜色 // 绘制被填充的矩形

    5. rect  4个参数  x y  宽 高 // 创建矩形,没有画上

    6. ctx.stroke()  // 画上去

    7. fill  把图形画到画布上

    8. closePath() // 闭合

    9. arc(300, 100, 50, 0, Math.PI * 2, false ) // 6个参数  x y 圆心坐标,半径  起始角度           3.14*2  ,false为顺时针, true 逆时针

    10  arcTo(150,20,150,70,50) // 起始坐标 终止坐标  半径

    11 translate (300,300)设置基准点

    1. <canvas id="canvas" width="600" height="300">canvas>
    2. <script>
    3. // 获取元素
    4. let canvas = document.querySelector('#canvas')
    5. // 创建绘画环境
    6. const ctx = canvas.getContext('2d')
    7. // console.log(ctx);
    8. // ctx.fillStyle = "#0000ff" // 设置填充颜色
    9. // ctx.fillRect(0, 20, 150, 100) // 绘制被填充的矩形
    10. // ctx.strokeStyle = '#00ff11' // 设置画笔的颜色
    11. // ctx.strokeRect(0, 20, 150, 100) // 绘制被填充的矩形
    12. // ctx.rect(50,50,100,100) // 创建矩形,没有画上
    13. // ctx.strokeStyle = '#00ff11'
    14. // ctx.stroke() // 画上去s
    15. // ctx.rect(50, 50, 100, 100) // 创建一个矩形
    16. // ctx.fillStyle = "#0000ff"
    17. // ctx.fill() // 把矩形画到画布上
    18. // 抬笔画路径
    19. // ctx.beginPath()
    20. // ctx.moveTo(0, 0) // 从10 移动到20 可以理解为从x y 偏移
    21. // ctx.lineTo(100, 100) // 画直线从100 - 100
    22. // ctx.strokeStyle = 'blue'
    23. // ctx.lineWidth = 5 // 设置宽度
    24. // ctx.stroke()
    25. // ctx.beginPath()
    26. // ctx.moveTo(200, 50)
    27. // ctx.lineTo(150, 150)
    28. // ctx.closePath() // 闭合
    29. // ctx.lineWidth = 10 // 设置宽度
    30. // ctx.strokeStyle = 'red'
    31. // ctx.stroke()
    32. // 画圆
    33. // ctx.beginPath()
    34. // ctx.strokeStyle = 'blue'
    35. // ctx.arc(300, 100, 50, 0, Math.PI * 2, false ) // 6个参数 x y 圆心坐标,半径 起始角度 3.14*2 ,false为顺时针, true 逆时针
    36. // ctx.stroke()
    37. // 弧度
    38. // ctx.beginPath()
    39. // ctx.moveTo(100,100)
    40. // // ctx.lineTo(100,100)
    41. // ctx.strokeStyle = 'blue'
    42. // ctx.arcTo(150,20,150,70,50) // 起始坐标 终止坐标 半径
    43. // ctx.stroke()
    44. // script>

    小时钟案例

    ---------------------------

    老陈讲解

     

     二次贝塞尔曲线和三次贝塞尔曲线

     

     

     

     

    Path2D

    样式和颜色控制

     

    线性渐变 

     

    径向渐变

     

     圆锥渐变

    图案样式 Patterns 

     线段和虚线样式设置

     

     

     

     

     

     阴影 

    绘制图像和视频 

     

     

     文字绘制与对齐

    移动TRanslating

     

     

     

     

    变形 Transforms 

     

    位移

     

     旋转

     合成

    具体查文档

    HTML 5 Canvas 参考手册

     

    刮刮卡

     

     裁剪

     

     

    状态的保存和恢复 

     

    像素操作 

     

     

    所有参数 

     

     高级封装绘制元素和实现元素交互

    通过class类进行封装 

     

     

     canvas实现在线画板

     

     

    1. DOCTYPE html>
    2. Document

    绘制时钟

    1. DOCTYPE html>
    2. Document

     

     

  • 相关阅读:
    ChatGPT/GPT-4 或将从根本上改变软件工程
    YOLO V6论文精读
    gin+vue零基础入门教程
    双软认证需要材料,怎么办理
    【luogu 1457】在表格里造序列(莫反)(杜教筛)
    【软件应用开发】基于SSM框架的共享云盘系统设计与实现
    Android 安卓Kotlin-协程
    微信小程序数据传递的方式-页面数据的存取
    nginx 教程
    dBm dBi dBd dB dBc解释
  • 原文地址:https://blog.csdn.net/weixin_60968779/article/details/127913581