草庐IT

ruby - Ruby 绘图库

我正在尝试使用Ruby为一种语言编写流程图生成器。我想知道是否有任何库可用于为各种流程图元素绘制各种形状并向这些形状写入文本。如果可以的话,我真的宁愿不必编写用于绘制基本形状的代码。有人可以给我一些引用文档,其中包含使用该库的示例吗? 最佳答案 在Graphviz中将您的流程图写成有向图或无向图.Graphviz有一种语言,dot这使得生成图表变得容易。只需生成点文件,通过Graphiviz运行它,即可获得图像。graph{A--B--C;B--D;C--D[constraint=false];}呈现为digraph{A[label

javascript - SVG - 如何将 <path> 切成两半?

我需要在javascript中的特定点切割现有路径(曲线)。例如,如果我有以下路径:据此,我可以这样得到中点:varline=document.getElementById("line_test");varlength=line.getTotalLength();varmidpoint=line.getPointAtLength(length/2);一旦我得到那个中点,我想完全删除路径的其余部分。有没有一个函数可以让我得到一个子路径?绘图库对我来说不是一个真正的选择。 最佳答案 是的,它叫做getPathSegAtLength(在路

javascript - 随时间褪色的 Canvas 绘画 |奇怪的阿尔法分层行为

我正在绘制一个未被清除的Canvas,并使Canvas随着时间的推移逐渐变成纯色,或者在alpha中逐渐消失以显示后面的图层。我的第一直觉是简单地用每帧的低alpha在绘图上填充一个矩形,这样填充颜色就会逐渐累积并淡出绘图。但我发现了一些奇怪的行为(至少对我来说,我确信这是有原因的)。填充颜​​色永远不会完全累积。结果会根据油漆和填充颜色是否比彼此更亮/更暗而变化。我发现这个问题有人和我做同样的事情:fadeoutlinesafterdrawingcanvas?顶部的答案看起来不错,和我试过的一样。但它只适用于白底黑字。这是同一个fiddle的不同颜色的另一个版本,你会看到绘图永远不会

javascript - 需要 Canvas 模糊工具

我有类似fabric.js的绘图应用程序(http://fabricjs.com/freedrawing/)我想嵌入像Photoshop这样的模糊工具(http://www.demowolf.com/tutorials/demo.php?id=1503&series=85&format=html)这是我的模糊功能,但当我尝试更改颜色时它无法正常工作,它出了问题你可以看到下面的屏幕截图......functionboxBlurCanvasRGBA(id,top_x,top_y,width,height,radius,iterations){if(isNaN(radius)||radius

javascript - 在谷歌地图 v3 的绘图管理器中更改 "drawingMode"

看这段代码:这是一个谷歌工具,可以在map上创建一个面板并帮助我们绘制形状。通过drawingMode:google.maps.drawing.OverlayType.CIRCLE我们可以指示在第一次加载时选择了哪个工具,但我想在程序中更改它。例如,我想通过单击按钮将CIRCLE更改为POLYGON。我怎样才能做这样的事情?drawingManager=newgoogle.maps.drawing.DrawingManager({drawingMode:google.maps.drawing.OverlayType.CIRCLE,drawingControl:true,drawingC

javascript - 编写网络画图程序的技术

我想做一个网络画图程序。基本上我想在Web应用程序中模仿WindowsPaint程序。我真的不知道如何实现的功能是:在网络浏览器中绘制二维形状(线、圆等)拖放动态调整大小(移动鼠标调整大小时查看预览)我猜会有HTML5、CSS3和Javascript。我主要想知道是否有Javascript库可以让我的生活更轻松。最好的问候 最佳答案 是的,您想使用Canvas(“新Flash”)。它是一种HTML5元素,在较新的(移动)浏览器中得到广泛支持。以下是一些帮助您入门的链接:acompletems-paintcopysalvagedfro

javascript - 使用 raphael.js 绘制直线的正确方法是什么?

我在使用raphael.js绘制简单网格时遇到问题。我正在使用paper.path(),我的路径字符串看起来一切正常:但不知何故这被渲染了:这是我用来渲染这个“网格”的代码//verticallinesfor(varx=(this._offset.x%cellSize);x(在这种情况下,cellSize=50,并且this._offset={x:0,y:0}) 最佳答案 问题是您假设l采用绝对坐标,但它实际上采用相对坐标。当你写:M500l50600你认为这意味着从(50,0)到(50,600)写一行但它实际上意味着从(50,0)

用于绘制工作流图的 JavaScript 框架

有人知道用于开发类似工作流图表的JavaScript框架吗?我正在寻找显示对象之间关系以及能够在浏览器中拖动对象的方法。我正在寻找类似于MicrosoftVisio功能的东西。有没有人用ExtJS框架做过类似的事情?到目前为止,这就是我所看到的全部内容。http://kforner.github.com/extjs-dag-drawer/example.html我希望能够像这样拖动组件。http://raphaeljs.com/graffle.html 最佳答案 你的意思是像http://www.draw.io/?这个基于浏览器的工

javascript + html5 Canvas : drawing instead of dragging/scrolling on mobile devices?

我正在使用html5Canvas+一些javascript(onmousedown/move/up)在网页上创建简单的绘图板。在Opera、Firefox、Chrome等中运行良好(在台式电脑上试用)。但是,如果我使用iPhone访问此页面,当我尝试在Canvas上绘图时,它会拖动或滚动页面。这适用于其他页面内容,通过上下滑动页面,您可以像往常一样在移动浏览器中浏览页面。但是有没有一种方法可以在Canvas上禁用此行为,以便移动访问者也可以在上面实际绘制一些东西?为了您的引用,这里有一个简单的例子:functioninit(){varcanvas=document.getElement

javascript - 绘制具有厚度/宽度的线的算法

我正在寻找一种绘制具有一定粗细的线条的快速算法。线条不必抗锯齿,速度优先。像这样相当简单的东西就足够了:用例是一个Javascript游戏,蠕虫会留下痕迹。(HTML5Canvas明显画线,但是getImageData()很慢,碰撞检测也很慢)在过去的2.5小时内,我找不到执行此操作的任何东西。是的,我知道关于SO的问题几乎相同,实际上有很多,但没有一个有可行的解决方案。我目前唯一的解决方案是沿着Bresenham线画圆,这不是很有效。一些代码(伪代码、JS或至少一篇文章的链接)会很棒。 最佳答案 http://members.ch