美文网首页
2018-04-27 canvas入门

2018-04-27 canvas入门

作者: 彭奕泽 | 来源:发表于2018-04-28 01:00 被阅读0次

1. MDN

canvas只有两个属性,width和height

<html>
 <head>
  <script type="application/javascript">
    function draw() {
      var canvas = document.getElementById("canvas");
      if (canvas.getContext) {
        var ctx = canvas.getContext("2d");  // 最重要一步
        
        //画实心矩形,x,y,width,height
        ctx.fillRect (10, 10, 55, 50);
        //实心的颜色
        ctx.fillStyle = "rgb(200,0,0)";
        //画空心的矩形
        ctx.strokeRect(50,50,50,50);
      }
    }
  </script>
 </head>
 <body onload="draw();">  //body里要加上这个
   <canvas id="canvas" width="150" height="150"></canvas>
 </body>
</html>

2. 奕泽画板

  1. canvas相关API
//获取canvas标签
var canvas = document.querySelector("#canvas");  

//获得渲染上下文,画画的操作就全部在context上了
let context = canvas.getContext('2d')

// 设置画板大小为屏幕大小
canvas.width = document.documentElement.clientWidth
canvas.height = document.documentElement.clientHeight

//画线
canvas.onmousemove = function(ev) {
  var x = ev.clientX;
  var y = ev.clientY;
  // ......记下来前一个点和后一个点
  function drawLine(x1,y1,x2,y2) {
    context.beginPath();
    context.moveTo(x1-0,y1+29);  //起点
    context.lineTo(x2-0,y2+29);  //终点
    context.lineWidth = 5;  //线的粗细
    context.stroke();  //将各个点练成线
  }
}


//画三角形
function drawLine(x1,y1,x2,y2) {
    context.beginPath();
    context.moveTo(x1,y1);  //起点
    context.lineTo(x2,y2);  //第二个点
    context.lineTo(x3,y3);  //第三个点
    context.closePath();  //将第一个点和最后一个点连起来
    context.stroke();  //将各个点练成线
}

//画圆圈
function drawTriangle(x,y,r) {
  context.beginPath();
  context.arc(x-0,y+29,r,0,Math.PI*2);  //left,top,半径, 起点(以原点为圆心从第一象限的x轴开始往y轴负方向画圈),终点
  context.fill();  //将圆圈填色
}
context.strokeStyle = 'black';  //线的颜色
context.fillStyle = 'black';  //圆圈填充的颜色
context.clearRect(x,y,30,30);  //橡皮擦功能,被清除部分变透明
  1. DOM元素
//触屏设备
canvas.ontouchstart = function(ev){
  var x = ev.touches[0].clientX;  //获取点击的位置
  var y = ev.touches[0].clientY;
}
canvas.ontouchmove = function(){}

//非触屏设备
canvas.onmousedown = function(ev){}
canvas.onmousemove = function (ev) {}
canvas.onmouseup = function () {}
canvas.onmouseout = function () {}

相关文章

  • 2018-04-27 canvas入门

    1. MDN canvas只有两个属性,width和height 2. 奕泽画板 canvas相关API DOM元素

  • canvas入门-小时钟

    canvas入门-小时钟

  • canvas入门

    标签插入 获取标签var canvas = document.getElementById('canvas');获...

  • canvas 入门

    绘制倒计时时钟 1 绘制一条线 然后利用刚学的线条绘制个七巧板 2 绘制弧线 canvas 中的方法 圆的起始状态...

  • canvas入门

    一、什么是 canvas? HTML5 元素用于图形的绘制,通过脚本 (通常是JavaScript)来完成可以...

  • canvas入门

    日期:2020 年 5 月 8 日 canvas 学习笔记 canvas 简介 canvas 是一个用来绘图的 h...

  • Canvas入门

    是一个可以使用脚本(通常为JavaScript)来绘制图形的 HTML 元素.例如,它可以用于绘制图表、制作图片构...

  • Canvas入门

    什么是Canvas? Canvas是H5新增的一个标签,我们可以通过js在这个标签上绘制各种图案Canvas拥有多...

  • canvas入门

    canvas 绘制基本步骤: 第一步:获得上下文 => canvasElem.getContext(‘2d’);第...

  • HTML5 Canvas笔记——打印出Hello Canvas

    参考书目:《HTML5 Canvas核心技术 图形、动画与游戏开发》 HTML5 Canvas简单入门操作,如同每...

网友评论

      本文标题:2018-04-27 canvas入门

      本文链接:https://www.haomeiwen.com/subject/lsqwlftx.html