2018-04-27 canvas入门

2018-04-28  本文已影响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 () {}
上一篇 下一篇

猜你喜欢

热点阅读