草庐IT

KineticJS

全部标签

javascript - 我似乎在用 Javascript 完全创建一个变量之前使用它,但这行得通——为什么?

有人能给我解释一下吗?vardiagramImage=newKinetic.Shape(function(){varcontext=this.getContext();context.beginPath();context.lineWidth=1;//Thisiscrazytricks.It'spartoftheKineticJSdemowebsite,buthowamIabletoassigndiagramImage.colorhere?context.strokeStyle=diagramImage.color;varlastVertice=polygon.Vertices[pol

javascript - 是否可以结合 kinetic.js 和 backbone.js?

我想编写一个只在屏幕上放置一个矩形的应用程序。但是我需要为此结合kinetic.js和backbone.js,我不确定它是否可以完成。动力学代码为:document.getElementById('rect').addEventListener('click',function(){rect=newKinetic.Rect({x:239,y:75,width:100,height:50,fill:'green',stroke:'black',strokeWidth:4,offset:[50,25],draggable:true,});和Backbone代码$(function(){va

javascript - KineticJS - 用鼠标画线

我正在使用KinectJS根据鼠标移动绘制线条。当用户按住鼠标按钮时,我希望它成为线条的“起点”,当用户释放时,它将成为线条的“终点”,但是当他们按住鼠标时我想要能够在我的鼠标移动时动态重绘线条。这可能吗? 最佳答案 是的,这是可能的。基本上,您必须在onMouseMove事件期间重绘图层。您需要一个标志来控制线路何时移动。当脚本初始化时,这个标志应该是假的。在onMouseDown时,行开始应接收当前鼠标坐标并将标志设置为true。在onMouseMouve中,如果标志为真,您应该更新行尾以接收当前鼠标坐标。在onMouseUp时

javascript - KineticJS strokeWidth 为 1 会导致模糊的半透明线而不是尖锐的 1 像素线

我环顾了互联网但一无所获,我查看了其他KineticJS示例,这些示例在其矩形上使用strokeWidth为1,它们似乎都有一条半透明的2像素线而不是漂亮的锐利1px不透明的黑线。现在,我猜测由于Google没有任何解决方案非常简单或不可能,但是..你知道我如何使用KineticJS获得1像素的边框吗?$(window).load(function(){varstage=newKinetic.Stage({container:"kineticdiv",width:700,height:400});varlayer=newKinetic.Layer();varrect=newKineti

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 - KonvaJS:如何用箭头连接两个形状?

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

javascript - KonvaJS:文本对象中的 HTML

我目前正在研究KonvaJS以创建类似废料预订应用程序,并且我正在尝试像项目符号列表一样显示。我尝试使用文本形状并向文本添加html以查看它是否会呈现它,但没有成功。这可能吗?如果是这样,如何?如果没有,KonvaJS还必须通过哪些其他方式来显示花哨的文本,例如列表、粗体……vartext=newKonva.Text({text:'thisisnormaltext\n\nThisisBOLD',fontSize:8,fontFamily:'Calibri',fill:'#555',width:300,padding:20,align:'center',stroke:'black',st

javascript - 使用 KineticJS 变换(移动/缩放/旋转)形状

我正在尝试为KineticJS构建一个转换管理器,它将构建一个边界框并允许用户在他们的Canvas上缩放、移动和旋转图像。我被anchor的逻辑绊倒了。http://jsfiddle.net/mharrisn/whK2M/我只想让用户从任何Angular落按比例缩放他们的图像,并在按住并拖动anchor时旋转。谁能帮我指明正确的方向?谢谢! 最佳答案 这是我制作的旋转控件的概念证明:http://codepen.io/ArtemGr/pen/ociAD当控件被拖动时,dragBoundFunc用于旋转旁边的内容:controlGro

javascript - 为鼠标事件创建对象 "transparent"?

我正在使用HTML5Canvas和KineticJS开发一个项目。一个半透明的覆盖层(一个KineticJS组或层)被放置在整个场景中。问题是:未处理绑定(bind)到此叠加层下的KineticJS对象的鼠标事件。如何使这个叠加层(或任何其他对象)对鼠标事件“透明”?注意:问题仅与Canvas有关,没有其他HTML元素干扰它。(为了弄清楚下面的问题。) 最佳答案 假设您的意思是HTML元素放置在您的Canvas上,请尝试查看指针事件:pointereventsatMDN例如#foo{pointer-events:none;}

javascript - 使用 kineticjs 进行交互式绘图

我想通过点击和拖动来绘制一个矩形。我怎样才能做到这一点?我必须在哪里放置我的点击事件监听器?在舞台上还是在图层上?我有以下代码,但它不起作用:stage=newKinetic.Stage({...})layer=newKinetic.Layer({...})stage.add(layer)stage.on('click',function(){varpos=stage.getMousePosition();varrect=newKinetic.Rect({x:pos.x,y:pos.y,width:10,height:10,});layer.add(rect);layer.draw()