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>
相关推荐
林强1812 小时前
前端文件预览docx、pptx和xlsx
前端
像是套了虚弱散4 小时前
DevEco Studio与Web联合开发:打造鸿蒙混合应用的全景指南
开发语言·前端·华为·harmonyos·鸿蒙
衬衫chenshan4 小时前
【CTF】强网杯2025 Web题目writeup
前端
飞翔的佩奇5 小时前
【完整源码+数据集+部署教程】【天线&水】舰船战舰检测与分类图像分割系统源码&数据集全套:改进yolo11-repvit
前端·python·yolo·计算机视觉·数据集·yolo11·舰船战舰检测与分类图像分割系统
哆啦A梦15886 小时前
点击Top切换数据
前端·javascript·vue.js
程序猿追6 小时前
Vue组件化开发
前端·html
艾德金的溪7 小时前
redis-7.4.6部署安装
前端·数据库·redis·缓存
小光学长7 小时前
基于Vue的2025年哈尔滨亚冬会志愿者管理系统5zqg6m36(程序+源码+数据库+调试部署+开发环境)带论文文档1万字以上,文末可获取,系统界面在最后面。
前端·数据库·vue.js
@PHARAOH7 小时前
WHAT - 受控组件和非受控组件
前端·javascript·react.js
生莫甲鲁浪戴7 小时前
Android Studio新手开发第二十六天
android·前端·android studio