HTML的Canvas元素

<Canvas>元素

<Canvas>元素是HTML5引入的一个强大的绘图元素,它允许通过 JavaScript 在网页上动态绘制图形、动画和交互式内容。需要注意的是,<Canvas>元素只是图形的一个容器,绘制图形必须使用Javascript。

空画布

html 复制代码
<canvas id="huabu" width="200" height="200" style="border: 2px solid #000000;"></canvas>

画线

html 复制代码
<script>
      var c = document.getElementById("huabu");
      var ctx = c.getContext("2d");
      //   画线
      ctx.beginPath();
      ctx.moveTo(0, 0);
      ctx.lineTo(200, 200);
      ctx.stroke();
</script>   

画圆

html 复制代码
<script>
      var c = document.getElementById("huabu");
      var ctx = c.getContext("2d");
       //   画圆
      ctx.beginPath();
      ctx.arc(95,50,40,0,2*Math.PI);
      ctx.stroke();
</script>

文本

html 复制代码
<script>
      var c = document.getElementById("huabu");
      var ctx = c.getContext("2d");
      // 文本
      ctx.font = "30px Arial";
      ctx.fillText("Hello World",10,50);
</script>

空心文本

html 复制代码
<script>
      var c = document.getElementById("huabu");
      var ctx = c.getContext("2d");
      // 空心文本
      ctx.font = "30px Arial";
      ctx.strokeText("Hello World",10,50);
</script>

画线性渐变

html 复制代码
<script>
      var c = document.getElementById("huabu");
      var ctx = c.getContext("2d");
       // 画线性渐变
      var grd =ctx.createLinearGradient(0,0,200,0);
      grd.addColorStop(0,"red");
      grd.addColorStop(1,"white");

      ctx.fillStyle = grd;
      ctx.fillRect(10,10,150,80);
</script>

画圆渐变

html 复制代码
<script>
      var c = document.getElementById("huabu");
      var ctx = c.getContext("2d");
      // 画圆渐变
      var grd =ctx.createLinearGradient(75,50,5,90,60,100);
      grd.addColorStop(0,"red");
      grd.addColorStop(1,"white");

      ctx.fillStyle = grd;
      ctx.fillRect(10,10,150,80);
</script>

画图片

html 复制代码
<script>
      var c = document.getElementById("huabu");
      var ctx = c.getContext("2d");
       // 画图片
      var img = document.getElementById("scream");
      ctx.drawImage(img,10,10);

</script>
相关推荐
软件工程师文艺2 分钟前
从0到1:Claude Code如何用React构建CLI应用
前端·react.js·前端框架
M ? A11 分钟前
Vue 迁移 React 实战:VuReact 一键自动化转换方案
前端·vue.js·经验分享·react.js·开源·自动化·vureact
yuki_uix12 分钟前
重排、重绘与合成——浏览器渲染性能的底层逻辑
前端·javascript·面试
沃尔威武41 分钟前
调试黑科技:Chrome DevTools时间旅行调试实战
前端·科技·chrome devtools
yuki_uix1 小时前
虚拟 DOM 与 Diff 算法——React 性能优化的底层逻辑
前端·react.js·面试
yuki_uix1 小时前
从输入 URL 到页面显示——浏览器工作原理全解析
前端·面试
weixin_408099671 小时前
【完整教程】天诺脚本如何调用 OCR 文字识别 API?自动识别屏幕文字实战(附代码)
前端·人工智能·后端·ocr·api·天诺脚本·自动识别文字脚本
吴声子夜歌1 小时前
ES6——Generator函数详解
前端·javascript·es6
吴声子夜歌1 小时前
ES6——Set和Map详解
前端·javascript·es6
码喽7号2 小时前
vue学习四:Axios网络请求
前端·vue.js·学习