canvas运动轨迹

参考文章:

https://blog.csdn.net/gdp12315_gu/article/details/53575556

https://github.com/chengquan223/map-canvas/tree/master/examples

canvas事件

https://bz5811.iteye.com/blog/1908172

canvas动画

https://segmentfault.com/a/1190000004852668

canvas library

http://fabricjs.com/

canvas双缓存 ;

设置globalAlpha,临时canvas保存上一步主canvas数据,临时canvas数据复制到主canvas时,透明度会下降,相当于把主canvas上一步数据透明度调低。上一步(透明度调低)、下一步数据叠加在一起形成运动效果。

Path2D:


<body>
  <canvas id="canvas"></canvas>
  <div id="result"></div>
</body>

var div = document.getElementById("result");
var canvas = document.getElementById("canvas");

var ctx = canvas.getContext("2d");

var path1 = new Path2D();
path1.rect(10, 10, 100, 100);
path1.closePath();
ctx.stroke(path1);

var path2 = new Path2D();
path2.moveTo(220, 60);
path2.arc(170, 60, 50, 0, 2 * Math.PI);
path2.closePath();
ctx.stroke(path2);

var path3 = new Path2D("M230 10 h 80 v 80 h -80 Z");
ctx.fill(path3);
path3.closePath();

$('canvas').click( function(event) 
{
  div.innerHTML = "";
  
  var x = event.pageX;
  var y = event.pageY;

  if (ctx.isPointInPath(path1, x, y))
    div.innerHTML = "Path1 clicked";

if (ctx.isPointInPath(path2, x, y))
    div.innerHTML = "Path2 clicked";
  
  if (ctx.isPointInPath(path3, x, y))
    div.innerHTML = "Path3 clicked";
});

转载于:https://www.cnblogs.com/shinesea/p/10522688.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值