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>
相关推荐
程序员黑豆5 小时前
鸿蒙应用开发之V2状态管理:@Local、@ObservedV2、@Trace 使用教程
前端·后端·harmonyos
锻炼²5 小时前
Edge 地址栏搜索被其他浏览器劫持
前端·edge
Slice_cy5 小时前
Mint 自研框架设计与实现:从重复开发走向配置驱动(三)
前端·后端·架构
JoyT5 小时前
Nuxt 3的核心设计与静态官网应用
前端·javascript·vue.js
程序员黑豆5 小时前
鸿蒙应用开发之@State 装饰器详解:从基本类型到 @Observed/@ObjectLink/@Track 嵌套监听
前端·harmonyos
杉氧5 小时前
Flutter 像素级还原实战:用 CustomPaint 与 Bezier 曲线手绘精致图针
android·前端·flutter
2301_764441336 小时前
智慧农业管理平台灵感
开源·html
金融小白数据分析之路7 小时前
绍兴市镇街echarts 制作
前端·数据库·echarts
Slice_cy7 小时前
Mint 自研框架设计与实现:从重复开发走向配置驱动(二)
前端·后端·架构
greenbbLV7 小时前
积分兑换商城供应商挑选:避坑要点与靠谱选择解析
前端·小程序