草庐IT

javascript - d3.js 缩放仅在光标位于图形像素上时有效

我正在尝试以最简单、最基本的方式在树状图上实现缩放功能,并且已经让它发挥作用。唯一的问题是缩放事件仅在光标位于边缘、节点或文本上时有效。当光标位于svg的任何部分时,如何允许缩放?varmargin={top:20,right:120,bottom:20,left:120},width=2000-margin.right-margin.left,height=2000-margin.top-margin.bottom;varx=d3.scale.linear().domain([0,width]).range([0,width]);vary=d3.scale.linear().doma

graph - d3.js 中的网络多路由正交图

我们想用d3画一个网络路由图,起始节点和结束节点是固定的,但中间的路径不同,可能共享一些节点,例如:我阅读了来自Configurefixed-layoutstaticgraphind3.js的评论并成功创建了一个简单的图形,如:但是当我向图中添加更多节点时,它变得随机(刷新后不是静态的)并且不再是正交的:所以我的问题是:是否可以使用d3.js来绘制接近所需的东西图形?或者有没有我应该在我的工作中使用的算法图实现? 最佳答案 在这里看我的演示。http://jsfiddle.net/doraeimo/JEcdS/主要思想是基于树建立连

javascript - 如何检查 Svg 元素的交集

我正在开发一个基于Web的应用程序,用户可以在其中创建多个svg元素。所有元素都是“路径”(闭合路径为正方形或矩形)。用户可以移动和旋转任何元素。现在我想在一个元素接触或与任何其他元素相交时提醒用户。如有任何帮助,我们将不胜感激。谢谢。这是jsfiddle链接http://jsfiddle.net/nnYSp/代码是:-document.addEventListener('mousedown',mousedown,false);document.addEventListener('mousemove',mousemove,false);document.addEventListener

javascript - 将使用 D3js 创建的 SVG 转换为 PNG

我有一些用D3js创建的图表,我想通过JavaScript将其转换为PNG图像,以便用户可以下载图表。我见过将SVG转换为Canvas并将Canvas转换为图像的解决方案。这对我不起作用,因为SVG使用类来设置元素的样式(由于可维护性,我宁愿不更改),这会导致整个Canvas变成黑色并带有非常粗的线条。是否可以将SVG图表直接转换为PNG?该页面位于RubyonRails项目中,因此它不必是纯JavaScript解决方案,但我更愿意使用JavaScript来执行此操作,这样我也可以在其他项目中实现它。 最佳答案 要在Canvas中显

javascript - 为什么这个动画在 FireFox 中这么慢?

我正在使用D3.js来操作一些SVG元素。我了解到(艰难的方式)较新版本的FireFox并不能很好地处理D3的强制布局。所以我切换到一个简单的旋转,它仍然在Firefox中运行糟糕。在以下代码中,group1是一个包含200个的数组我动态创建的svg元素:functionorbit(target,first){/*Othereasingoptionshere:https://github.com/mbostock/d3/wiki/Transitions#wiki-d3_ease*/varease=(first)?'sin-in':'linear';target.transition()

用于多边形 bool 函数(并、交、差和异或)的 javascript 模块

关闭。这个问题不符合StackOverflowguidelines.它目前不接受答案。我们不允许提出有关书籍、工具、软件库等建议的问题。您可以编辑问题,以便可以用事实和引用来回答它。去年关闭。Improvethisquestion我有多边形集。在这个集合中,有些是外部多边形,有些可能(或可能不是)是孔。在这个阶段我不知道哪些是多边形孔。我想计算结合所有多边形(包括孔)的最终多边形。我想到了这种方法://'SomeLib'thathaspolygonbooleanfucntionsvarpolygonSet=[poly1,poly2,...polyn];varunion,intersec

javascript - 是否可以更准确地测量 SVG 文本高度?

我正在尝试测量用于呈现具有给定字体和SVG文本标记的给定字符串的确切高度。我试过使用getBBox和getExtentOfChar,但是这两个返回的高度包括在实际呈现的文本上方(有时在下方)的一些额外空间。http://upload.wikimedia.org/wikipedia/commons/3/39/Typography_Line_Terms.svg使用此图像中的术语,我试图获得正在呈现的文本的大写高度+下降高度。或者,如果那不可能,那就是上限高度。有没有好的方法来计算这些值?这是一个快速代码笔,显示了我正在谈论的额外空间:http://codepen.io/pcorey/pen

javascript - 使用 canvg 将 C3.js SVG 可视化到 Canvas - 折线图填充黑色矩形, "ERROR: Element ' parsererror' 尚未实现”

我正在尝试使用Canvg将SVG转换为Canvas。这是jsfiddle.我收到一条错误消息,“错误:元素‘parsererror’尚未实现”。我可以理解canvg库无法解析SVG元素。但是,这个问题有解决办法吗?我需要从svg元素创建一个Canvas元素。SaveCanvas:varchart={};chart=c3.generate({bindto:'#chart',data:{xs:{'data1':'x1','data2':'x2',},columns:[['x1','2013-01-0103:11:37','2013-01-0203:11:37','2013-02-0303:

javascript - 不寻常的 d3 放大可重用类 - this 和 bind

一段时间以来,我一直在为这个问题绞尽脑汁......我在js中有一个常用的构造函数/原型(prototype)对象(如类),它包含我所有的d3图表逻辑:figureGen=function(html_element){this.svg=d3.select(html_element).append('svg').style('width','100%').style('height','100%').append('g').attr("class","sadrzalac").attr("transform","translate("+0+","+0+")");this.element=e

javascript - 在 Web Worker 中将 SVG 转换为 PNG

我想在WebWorker中将SVG转换为PNG。我的问题是,DOM无法从Worker中访问,所以我无法将SVG绘制到Canvas或类似的东西上。 最佳答案 Weeell,您始终可以手动解析SVG并从中构建位图,但是(!)这显然需要更多工作,因为您必须构建SVG解析器和PNG编写器,更不用说光栅化了线条代码和双模式多边形填充,包括。抗锯齿、图案、矩阵、合成、混合和渐变支持。不过可能是一个不错的周末项目:)但更重要的是:您只能使用使用常规上下文(非网络worker)的内置工具或选择性地设置基于服务器的服务来执行此操作。