Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/angular/27.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
是否可以将angular2关键帧动画用于画布绘制_Angular_Animation_Html5 Canvas_Keyframe - Fatal编程技术网

是否可以将angular2关键帧动画用于画布绘制

是否可以将angular2关键帧动画用于画布绘制,angular,animation,html5-canvas,keyframe,Angular,Animation,Html5 Canvas,Keyframe,我已经读过关于-并且希望对一般对象属性使用相同的接口-这将允许对画布动画也使用相同的api 这有可能吗?该示例仅提到css属性 iam向任何方向的提示开放:-)角度动画界面位于顶部,只能为DOM元素设置动画: Web动画API允许同步和定时更改网页的显示,即DOM元素的动画。它通过组合两个模型来实现:计时模型和动画模型 不过,您可以查看API的示例,了解它是如何实现的,并将其传输到canvas 您还可以通过将动画应用到视图之外的DOM元素来“破解”它,然后每个帧获取位置并进行变换,然后将它们应用

我已经读过关于-并且希望对一般对象属性使用相同的接口-这将允许对画布动画也使用相同的api

这有可能吗?该示例仅提到css属性


iam向任何方向的提示开放:-)

角度动画界面位于顶部,只能为DOM元素设置动画:

Web动画API允许同步和定时更改网页的显示,即DOM元素的动画。它通过组合两个模型来实现:计时模型和动画模型

不过,您可以查看API的示例,了解它是如何实现的,并将其传输到canvas

您还可以通过将动画应用到视图之外的DOM元素来“破解”它,然后每个帧获取位置并进行变换,然后将它们应用到画布。但是,有一些性能开销可能并不理想,还有一些限制(如3D变换),因此我建议将重写polyfill for canvas作为更好的选择(或者只使用CSS+DOM)

概念证明黑客
var ctx=c.getContext(“2d”);
var div=document.getElementById(“测试”);
//提取CSS动画并应用于画布
(函数循环(){
c、 宽度=c.宽度;
ctx.fillText(“画布”,c.width-50,c.height-10);
var cs=getComputedStyle(div).getPropertyValue(“transform”);//获取2D trans.matrix
//剥离文本并转换为数组
var start=cs.indexOf(“”+1;
var txt=cs.substr(开始,cs.length-start-1);
var arr=txt.split(“,”);
ctx.setTransform.apply(ctx,arr);
ctx.font=“16px无衬线”;
ctx.fillText(div.innerHTML,0,10);
请求动画帧(循环);
})()
body{溢出:隐藏}
#c{边框:1px实心#777}
#试验{
变换原点:0%0%;
动画:testRot无限3s线性;
字体:16px无衬线;
}
@关键帧testRot{
0%{变换:旋转(0)}
100%{变换:旋转(360度)}
}

此文本和动画来自DOM