canvas的基本用法

<canvas>

作用:在页面中设定一个区域,然后通过JavaScript动态在这个区域中绘制图片

基本用法:

1、要使用canvas元素标签,一定要设置width和height

2、也可以通过CSS对他的样式进行修改

<!DOCTYPE html>
<html>
<head>
  <meta charset="utf-8" />
  <title>canvas基本用法</title>
  <style type="text/css">
    #drawing{
      background-color: red;
    }
  </style>
</head>
<body>
  <canvas id="drawing" width="450" height="450">A drawing og something</canvas>
</body>
</html>

3、getContext()方法一定要在canvas的后面出现,不能在canvas前面出现

<!DOCTYPE html>
<html>
  <head>
  <meta charset="utf-8" />
  <title>canvas基本用法</title>
  <style type="text/css">
    #drawing{
      background-color: red;
    }
  </style>

  </head>
  <body>
  <canvas id="drawing" width="450" height="450">A drawing og something</canvas>
  <script type="text/javascript">
    var drawing = document.getElementById("drawing")
    if(drawing.getContext){
      var context = drawing.getContext("2d")
      console.log(context)
    }
  </script>
  </body>
</html>

4、toDataURL()方法,

其中他的参数:图片格式,例如:image/png(默认是这个格式)

返回值为:图片的信息(在画布上面画的图片):包括:data:图片格式;base64,图片信息

语法为:HTMLCanvasElement.toDataURL()

<!DOCTYPE html>
<html>
  <head>
  <meta charset="utf-8" />
  <title>canvas基本用法</title>
  <style type="text/css">
    #drawing{
      background-image: url(img/20181029230459.jpg);
      /*background-color: red;*/
    }
  </style>

  </head>
  <body>
  <img id="forget" />
  <canvas id="drawing" width="550" height="550">A drawing og something</canvas>

  <script type="text/javascript">
    var drawing = document.getElementById("drawing")
    if(drawing.getContext){
      var imgURL = drawing.toDataURL("image/jpeg")
      console.log(imgURL)

      var imgb = document.createElement("img")
      var image = document.getElementById("forget")
      image.src = imgURL
    }
  </script>
  </body>
</html>

之前出现了一个bug:

Uncaught TypeError: Cannot set property ' ' of null

这是因为之前给的id不存在,或者可以说是不给id

之前的错误代码:var image = document.getElementById("img")

posted @   Myuniverse  阅读(518)  评论(0编辑  收藏  举报
编辑推荐:
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· 开发者必知的日志记录最佳实践
阅读排行:
· winform 绘制太阳,地球,月球 运作规律
· AI与.NET技术实操系列(五):向量存储与相似性搜索在 .NET 中的实现
· 超详细:普通电脑也行Windows部署deepseek R1训练数据并当服务器共享给他人
· 【硬核科普】Trae如何「偷看」你的代码?零基础破解AI编程运行原理
· 上周热点回顾(3.3-3.9)
点击右上角即可分享
微信分享提示