草庐IT

javascript - 如何从填充的 SVG 路径中删除形状

我有这个fiddle:https://jsfiddle.net/thatOneGuy/1spn8nne/1/这有两条路径,目前,它们只是矩形,但实际上是复杂的形状。我使用此代码创建了两个带有“孔”的矩形:createRects(dataPointsPath2,'blue');createHoles(dataPointsCircle2);createRects(dataPointsPath1,'red');createHoles(dataPointsCircle1);我需要的是从填充路径中移除孔,以便您可以看到它后面的矩形。如何从填充路径中删除形状(圆形)?编辑我刚刚意识到,剪辑路径可能

javascript - 在 PaperJS 中缩放后重置形状大小的最有效方法是什么

我正在尝试在PaperJS中创建一个非常简单的类似灯塔的动画。这个想法是,一个圆圈开始时非常小且完全不透明,然后变得更大且更透明,直到它消失并且动画重新开始。我正在使用缩放使图像变大,但将其重置为原始大小变得有问题,目前我已经求助于克隆第二个圆圈来重置它,而不是只使用一个形状,必须是一种更简单的方法。到目前为止,我已经创建了一个jsFiddle来演示我的粗略代码,我们将不胜感激。http://jsfiddle.net/colethecoder/Y3S9n/1 最佳答案 Paperjs不存储原始路径,也不记得任何已应用到当前状态的操作

javascript - 使用 Canvas 和 javascript 的核心数学和 3d 形状

我有一个老friend,他是一位数学家。他有自己的数学来压缩他的公式,这些公式非常漂亮。他在一个名为Mathematica的程序中工作,该程序可以转换3D形状的公式。请问是否可以使用Canvas和JavaScript获取这些数字?见附件公式和图。我自己对此知之甚少。但如果有人能给我举个例子,我会很高兴。 最佳答案 既然您提到了Mathematica,我将使用它来为t的各种值提供更多示例。不过我无法在Canvas方面为您提供帮助。这是Mathematica代码:With[{a=3,t=0.7},RegionPlot3D[10^-(tx

javascript - 使用 SVG 或 WebGL 的 3D 形状

您好,我想在浏览器中渲染一个交互式3D球体。它上面的纹理将是一张世界地图,所以基本上我试图创建一个可以使用map在任何方向旋转的地球仪。我很擅长使用SVG渲染2D图像,但不确定如何在SVG中渲染3D形状。是否可以在SVG中渲染3D形状,如果可以,如何渲染?如果不是,WebGl是更好的选择吗? 最佳答案 看看three.js它对实现进行了一些抽象(带有WebGL/SVG/Canvas后端)。SVG是一种2d矢量图形格式,但您可以将3d形状投影到2d上,因此可以使用SVG渲染3d对象,这只是一些工作(最好留给javascript库)。

javascript - 调整形状宽度时,旋转的形状在 y 轴上移动

我正在尝试调整Canvas上旋转形状的大小。我的问题是,当我调用渲染函数时,形状开始“漂移”,具体取决于形状Angular。我怎样才能避免这种情况?我制作了一个简化的fiddle来演示这个问题,当单击Canvas时,形状会变大,并且由于某种原因它会向上漂移。这是fiddle:https://jsfiddle.net/x5gxo1p7/canvas{position:absolute;box-sizing:border-box;border:1pxsolidred;}varcanvas=document.getElementById('canvas');canvas.width=300;

javascript - 动画形状内的 KineticJS 点击检测

好吧,我承认我试图变得聪明:我认为如果我覆盖Shape的drawFunc属性,我可以简单地在矩形内绘制任何内容,并且仍然使用KineticJS的点击检测。这是我的尝试:varshape=newKinetic.Shape({drawFunc:function(context){varid=26;//Idofaregioninsidecompositeimage.context.beginPath();context.rect(0,0,w,h);context.closePath();this.fill(context);this.stroke(context);context.drawI

javascript - 使用 FabricJS 的箭头形状

我正在尝试使用直线和三Angular形创建箭头。你可以查看jsbin上的演示:http://jsbin.com/xuyere/1/edit?js,output从演示中可以看出,箭头的位置随Angular变化,这是不正确的。我在这里做错了什么?这是我用来计算Angular数学方法:vardx=x2-x1,dy=y2-y1,angle=Math.atan2(dy,dx);angle*=180/Math.PI;angle+=90; 最佳答案 我把centerX和CenterY的值改成了center,完美的来了。更新后的代码应如下所示。您的

javascript - 传单重叠形状不透明度

下面是带有圆圈的传单(http://leafletjs.com/)map的屏幕截图。圆的不透明度为0.5,你可以清楚地看到它们重叠的地方。是否可以添加样式规则以使重叠不具有更高的不透明度?leaflet似乎不支持这一点,但我想知道css是否可以实现这样的事情?我希望能够显示红色圆圈上方的内容(即显示其下方的内容)并具有均匀的颜色。将不透明度分配给一个是不可行的。 最佳答案 AFAIK在CSS中没有办法阻止半透明形状的重叠区域将它们的颜色“添加”到彼此,无论好坏,这是预期的行为(现实生活中这种形状会发生什么也是)。不幸的是,这对您没有

javascript - KonvaJS:如何用箭头连接两个形状?

我想使用Konvajs来完成以下任务:在Canvas上绘制两个矩形组。每组包含一个矩形、文本和一个圆当我用鼠标从圆圈中拖动时,它在拖动的同时绘制了一个箭头。当我将箭头放到另一个组中时,它停止绘制并将两个组边对边连接起来像这样:是否有支持形状之间连接的原生方法?谁能给我一些例子吗? 最佳答案 我已连接Konva.Circles。但是图像的逻辑也是一样的。请查找plunkrvarwidth=window.innerWidth;varheight=window.innerHeight;varstage=newKonva.Stage({co

javascript - 在 Konva JS 中拖动后获取形状的 X 和 Y

我在我的项目中使用KonvaJS。我在单击按钮时添加了一个可拖动的形状。单击形状时,我需要获得形状的X和Y位置。getX和getY函数返回原始的X和Y。如何在拖动后更新X和Y。示例代码如下。varstage=newKonva.Stage({container:'canvas',//idofcontainerwidth:500,height:300});jQuery("#add-shape").click(function(){addShape();});varaddShape=function(){console.log("addshape");varlayer=newKonva.La