Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/css/34.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
Css 从变换的画布绘制线到另一个变换的画布_Css_Html5 Canvas - Fatal编程技术网

Css 从变换的画布绘制线到另一个变换的画布

Css 从变换的画布绘制线到另一个变换的画布,css,html5-canvas,Css,Html5 Canvas,在这里,我试图在使用TransformCSS定位的不同画布上的两个不同点之间画一条线。CSS放置画布,画布之间有一定角度 我使用css的变换属性定位了多个画布, 例如: var c1=document.getElementById('c1').getBoundingClientRect(); 偏移量x0=c1.0左; 偏移量0=c1.top; c2=document.getElementById('c2').getBoundingClientRect(); 偏移量x1=c2.0左; 偏移量1=

在这里,我试图在使用TransformCSS定位的不同画布上的两个不同点之间画一条线。CSS放置画布,画布之间有一定角度 我使用css的变换属性定位了多个画布, 例如:

var c1=document.getElementById('c1').getBoundingClientRect();
偏移量x0=c1.0左;
偏移量0=c1.top;
c2=document.getElementById('c2').getBoundingClientRect();
偏移量x1=c2.0左;
偏移量1=c2.top;
var x0=10+抵消x0;
var y0=30+offsetY0;
var x1=60+偏移量x1;
变量y1=60+抵销1;
var w=数学绝对值(x1-x0);
var h=数学绝对值(y1-y0);
var overlay=document.getElementById('overlay');
覆盖层。宽度=w+2;
叠加高度=h+2;
overlay.style.left=(x0-1)+'px';
overlay.style.top=(y0-1)+'px';
var context=overlay.getContext('2d');
context.beginPath();
上下文。移动到(1,1)//拉票要点1
context.lineTo(overlay.width-1,overlay.height-1)//拉票要点2
context.lineWidth=1;
stroke()
#覆盖{位置:绝对;底部:5px;指针事件:无;边框:无;}
#容器
{
宽度:500px;
高度:340px;
利润率:80px自动;
位置:相对位置;
透视图:3500px;
透视原点:100px-150px;
}
#形状{
宽度:100%;
身高:100%;
位置:绝对位置;
变换样式:保留-3d;
}
.就绪#形状{
-webkit转换:-webkit转换1s;
-moz变换:moz变换1s;
-o-转变:-o-转变1s;
转变:转变1s;
}
.就绪#形状画布
{
-webkit转换:不透明度1s,-webkit转换1s;
-moz变换:不透明度1s,-moz变换1s;
-o变换:不透明度1s,-o变换1s;
过渡:不透明度1s,变换1s;
}
#形状画布
{
显示:块;
位置:绝对位置;
宽度:500px;
高度:340px;
左:0px;
顶部:0px;
边框:1px纯色灰色;
线高:116px;
字号:80px;
字体大小:粗体;
颜色:绿色;
文本对齐:居中;
}
#形状
{
边界:1px;
背景色:rgba(255,255,255,0);
}
.戒指{
位置:绝对位置;
宽度:500px;
高度:340px;
文本对齐:居中;
字体系列:Times,衬线;
字号:124pt;
颜色:黑色;
背景色:#f0;
}
.ring>.r1
{
translateZ(-144px);
变换:旋转(0deg)translateZ(-250px);
背景:透明;
z指数:1;
}
.ring>.r2
{
translateZ(-144px);
变换:旋转(270度)平移(-250像素);
背景:透明;
z指数:1;
}
.ring>.r3
{
translateZ(-144px);
变换:旋转(0deg)translateZ(-250px);
背景:透明;
z指数:1;
}


u表示您想连接画布上指定的点和绘制的线?我必须在不同画布上的两个点之间绘制线,其中一个点在第一个画布上,另一个点在第二个画布上。画布使用css进行转换。我不确定,这是否是您想要的,根据您的代码,u r使用var x0=10+offsetX0;var y0=30+offsetY0;当10和30移出ur点时,只需尝试var x0=0+offsetX0;变量y0=0+offsetY0;。试着在画布1上的p1(10,30)和画布2上的p2(60,60)之间画一条线,要做到这一点,我需要在两个画布上画第三个画布。所以我得到了两个点(canvas1+10的左偏移量,canvas1+10的顶部偏移量)和(canvas2+60的左偏移量,canvas2+60的顶部偏移量)来在它们之间画线。但如果第二个画布使用rotate(270)和translateZ(-250)进行变换,但没有得到正确的位置,因为该画布被变换。你的意思是你想连接画布上指定的点和绘制的线?我必须在不同画布上的两个点之间绘制线,其中一个点在第一个画布上,另一个点在第二个画布上。画布使用css进行转换。我不确定,这是否是您想要的,根据您的代码,使用var x0=10+offsetX0;var y0=30+offsetY0;当10和30移出ur点时,只需尝试var x0=0+offsetX0;变量y0=0+offsetY0;。试着在画布1上的p1(10,30)和画布2上的p2(60,60)之间画一条线,要做到这一点,我需要在两个画布上画第三个画布。所以我得到了两个点(canvas1+10的左偏移量,canvas1+10的顶部偏移量)和(canvas2+60的左偏移量,canvas2+60的顶部偏移量)来在它们之间画线。但在使用rotate(270)和translateZ(-250)变换的第二个画布的情况下,并没有得到正确的位置,因为该画布被变换