编程笔记 html5&css&js 032 HTML Canvas

编程笔记 html5&css&js 032 HTMLCanvas

  • [一、什么是 HTML Canvas?](#一、什么是 HTML Canvas?)
  • [二、HTML Canvas 可以绘制文本](#二、HTML Canvas 可以绘制文本)
  • [三、HTML Canvas 可以绘制图形](#三、HTML Canvas 可以绘制图形)
  • [四、HTML Canvas 可以动画化](#四、HTML Canvas 可以动画化)
  • [五、HTML Canvas 可以交互](#五、HTML Canvas 可以交互)
  • 练习
  • 小结

Canvas画布,就是可以用来画画的地方,不是用户在浏览器上画图,而是会javascript画图。这区别于直接载入一张图片,是可以根据需要进行绘制。

一、什么是 HTML Canvas?

HTML <canvas> 元素用于通过脚本(通常是 JavaScript)动态地绘制图形。
<canvas> 元素只是图形的容器。您必须使用脚本来绘制实际的图形。

Canvas 有多种方法用于绘制路径、方框、圆形、文本和添加图像。

二、HTML Canvas 可以绘制文本

Canvas 可以绘制彩色文本,还可带动画效果。

三、HTML Canvas 可以绘制图形

Canvas 拥有使用图形和图表进行图形化数据呈现的强大能力。

四、HTML Canvas 可以动画化

Canvas 对象可以移动。一切皆有可能:从简单的弹跳球到复杂的动画。

五、HTML Canvas 可以交互

Canvas 可以响应 JavaScript 事件。

Canvas 可以响应任何用户操作(按键单击、鼠标单击、按钮单击、手指移动)。

HTML Canvas 可用于游戏

Canvas 的动画方法为 HTML 游戏应用程序提供了很多可能性。

html 复制代码
<canvas id="myCanvas" width="200" height="100"></canvas>

<canvas> 元素必须有 id 属性,以便 JavaScript 可以引用它。

width 和 height 属性对于定义画布的大小也是必需的。

提示:一张 HTML 页面上可以有多个 元素。

默认情况下, 元素没有边框,也没有内容。

如需添加边框,请使用 style 属性:

练习

html 复制代码
<!DOCTYPE html>
<html lang="zh-cn">
    <title>编程笔记 html5&css&js HTML Canvas</title>
    <meta charset="utf-8" />
    <style>
        body {
            color: cyan;
            background-color: teal;
        }
        .container {
            width: 500px; /* 设置容器的宽度 */
            margin: 0 auto; /* 将左右边距设置为自动 */
            line-height: 2;
        }
    </style>
    <body>
        <div class="container">
            <h1>这是一个 canvas</h1>
            <canvas
                id="myCanvas"
                width="500"
                height="500"
                style="border: 1px solid #000000"
            ></canvas>
        </div>
        <script>
            const canvas = document.getElementById("myCanvas");
            const ctx = canvas.getContext("2d");
            ctx.beginPath();
            ctx.rect(100, 100, 300, 300);
            ctx.stroke();
            ctx.fillStyle = "#00FF00";
            ctx.fillRect(150, 150, 200, 200);
        </script>
    </body>
</html>

小结

暂时用不到,再说吧。

相关推荐
光影少年5 小时前
对typescript开发框架的理解?
前端·javascript·typescript
a1117765 小时前
“像风之翼“无人机巡检平台仪表盘
前端·javascript·开源·html·无人机
ZC跨境爬虫5 小时前
跟着 MDN 学 HTML day_8:(高级文本语义标签+适配核心功底)
前端·css·笔记·ui·html
We་ct11 小时前
LeetCode 5. 最长回文子串:DP + 中心扩展
前端·javascript·算法·leetcode·typescript
里欧跑得慢18 小时前
17. Flutter Hero动画实现:让界面过渡更加优雅
前端·css·flutter·web
cn_mengbei19 小时前
用React Native开发OpenHarmony应用:Reanimated共享元素过渡
javascript·react native·react.js
kyriewen19 小时前
前端测试:别为了100%覆盖率而写测试,那是自欺欺人
前端·javascript·单元测试
Data_Journal19 小时前
如何使用cURL更改User Agent
大数据·服务器·前端·javascript·数据库
掌心向暖RPA自动化19 小时前
如何获取网页某个元素在屏幕可见部分的中心坐标影刀RPA懒加载坐标定位技巧
java·javascript·自动化·rpa·影刀rpa
竹林81819 小时前
wagmi v2 多链钱包切换:一个 Uniswap 仿盘项目让我踩了三天坑
前端·javascript