Javascript 抓取要在画布区域内使用的身体背景区域

Javascript 抓取要在画布区域内使用的身体背景区域,javascript,html,canvas,Javascript,Html,Canvas,我对canvas是新手,我对它如何从一个源代码到另一个源代码工作有一些想法,但是我试图实现的是动态的。我想在我的页面上加载一个主体背景(使用带封面的位置中心进行响应),然后提取一个区域,然后使用绿锁卡翻转进行操作 基本上,我会有一个木制的面板背景,我想创建一个秘密的面板门,可以在悬停或点击时旋转,以显示其背后的内容 明确地说,我会有一排带col-sm-4的BS排,架子上有一个瓶子,就像一辆西式轿车。当你悬停的时候,它会以这个背景为背景,把png瓶子放在上面,然后复制它,让我可以旋转它,以显示一个

我对canvas是新手,我对它如何从一个源代码到另一个源代码工作有一些想法,但是我试图实现的是动态的。我想在我的页面上加载一个主体背景(使用带封面的位置中心进行响应),然后提取一个区域,然后使用绿锁卡翻转进行操作

基本上,我会有一个木制的面板背景,我想创建一个秘密的面板门,可以在悬停或点击时旋转,以显示其背后的内容

明确地说,我会有一排带col-sm-4的BS排,架子上有一个瓶子,就像一辆西式轿车。当你悬停的时候,它会以这个背景为背景,把png瓶子放在上面,然后复制它,让我可以旋转它,以显示一个关于产品的简短的模糊

我不喜欢直接来这里,这就是为什么我的帖子/分数这么少的原因。但这真的让我难堪。任何方向正确的帮助,如果成功的话,我都乐意为之“小费”。谢谢大家

这是我现在的密码笔

`http://codepen.io/dtek516/pen/vKLOBp`
Tweenlite可以(间接)为画布绘制动画…

  • 可以使用JavaScript对象控制画布图形
  • Tweenlite可以为JavaScript对象上的属性设置动画
综上所述,您可以使用Tweenlite设置JavaScript对象属性的动画,该对象反过来控制画布上的图形

下面是示例代码和演示:

var canvas=document.getElementById(“canvas”);
var ctx=canvas.getContext(“2d”);
var cw=画布宽度;
var ch=画布高度;
var-PI=Math.PI;
var PI2=PI*2;
无功轮={
cx:cw/2,
cy:ch/2,
半径:数学最小值(cw,ch)/2-20,
startAngle:PI/4,
角度:PI/4,
绘图:函数(){
ctx.translate(this.cx,this.cy);
ctx.旋转(此角度);
ctx.clearRect(0,0,cw,ch);
ctx.beginPath();
ctx.弧(0,0,此半径,0,PI2);
ctx.fillStyle='skyblue';
ctx.strokeStyle='lightgray';
ctx.线宽=3;
ctx.fill();
ctx.stroke();
ctx.fillStyle='red';
ctx.font='18px verdana';
ctx.textbrealine='middle';
ctx.fillText('youwin!',40,0);
setTransform(1,0,0,1,0,0);
ctx.beginPath();
ctx.moveTo(cw/2,ch/2);
ctx.lineTo(cw/2+30,ch/2);
ctx.strokeStyle='green';
ctx.stroke();
},
}
var tl=两个车轮到(车轮,5{
是的,
角度:PI2*2,
放松:“夸脱,放松”,
onUpdate:function(){this.target.draw();},
onComplete:function(){console.log('complete',wheel);}
}
);
轮图();
$('#play')。单击(function(){tl.play();});
$('#replay')。单击(函数(){tl.restart();})
body{背景色:象牙;}
#画布{边框:1px纯红;}

玩
重播

Tweenlite可以(间接)为画布绘制动画…

  • 可以使用JavaScript对象控制画布图形
  • Tweenlite可以为JavaScript对象上的属性设置动画
综上所述,您可以使用Tweenlite设置JavaScript对象属性的动画,该对象反过来控制画布上的图形

下面是示例代码和演示:

var canvas=document.getElementById(“canvas”);
var ctx=canvas.getContext(“2d”);
var cw=画布宽度;
var ch=画布高度;
var-PI=Math.PI;
var PI2=PI*2;
无功轮={
cx:cw/2,
cy:ch/2,
半径:数学最小值(cw,ch)/2-20,
startAngle:PI/4,
角度:PI/4,
绘图:函数(){
ctx.translate(this.cx,this.cy);
ctx.旋转(此角度);
ctx.clearRect(0,0,cw,ch);
ctx.beginPath();
ctx.弧(0,0,此半径,0,PI2);
ctx.fillStyle='skyblue';
ctx.strokeStyle='lightgray';
ctx.线宽=3;
ctx.fill();
ctx.stroke();
ctx.fillStyle='red';
ctx.font='18px verdana';
ctx.textbrealine='middle';
ctx.fillText('youwin!',40,0);
setTransform(1,0,0,1,0,0);
ctx.beginPath();
ctx.moveTo(cw/2,ch/2);
ctx.lineTo(cw/2+30,ch/2);
ctx.strokeStyle='green';
ctx.stroke();
},
}
var tl=两个车轮到(车轮,5{
是的,
角度:PI2*2,
放松:“夸脱,放松”,
onUpdate:function(){this.target.draw();},
onComplete:function(){console.log('complete',wheel);}
}
);
轮图();
$('#play')。单击(function(){tl.play();});
$('#replay')。单击(函数(){tl.restart();})
body{背景色:象牙;}
#画布{边框:1px纯红;}

玩
重播