当前位置: 首页 > news >正文

HTML的Canvas元素

<Canvas>元素

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

空画布

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

画线

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

画圆

<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>

文本

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

空心文本

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

画线性渐变

<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>

画圆渐变

<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>

画图片

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

</script>

相关文章:

  • 数字的乘阶运算
  • 零碳园区智慧能源解决方案
  • 【算法学习】链表篇:链表的常用技巧和操作总结
  • SvelteKit 最新中文文档教程(19)—— 最佳实践之身份认证
  • 控制 ElementUI el-table 树形表格多选框的显示层级
  • NLP高频面试题(三十七)——大模型训练和推理的显存估计
  • 深入解析原生鸿蒙中的 RN 日志系统:从入门到精通!
  • Go 语言中的select是做什么的
  • 什么是音频预加重与去加重,预加重与去加重的原理是什么,在什么条件下会使用预加重与去加重?
  • 今日踩坑之@Autowired与@Resource区别
  • 解锁ChatGPT-4o文生图潜力:精选提示词收集整理更新中
  • vLLM实战:单机多卡大模型推理部署指南
  • 天元证券|空仓一个月 这批新基金冲进去了!
  • Cadence学习笔记之---热风焊盘制作
  • 从ETL到ELT:大数据时代下两者的选型建议及优势
  • 指纹浏览器技术架构解析:高并发批量注册业务的工程化实践——基于分布式指纹引擎与防关联策略的深度实现
  • VSCode 常用快捷键
  • 【冗余的思想】蜕变测试(二)
  • 混合并行技术在医疗AI领域的应用分析(代码版)
  • 未来生态映像:杭州的科技自然协奏曲
  • 济南市高新技术官方网站开发区/广州seo推广优化
  • 全球排名前十网站/免费seo网站诊断
  • 如何做视频网站的会员代理/培训方案及培训计划
  • 做网站广告哪家好/app推广之家
  • 佛山市网站建设公司/百度搜索引擎官网
  • 常州专业网站建设公司咨询/东莞公司seo优化