问题标签 [raphael]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
flash - 使用 SVG (raphaeljs) 开发基于地图的应用程序
我正在评估raphaeljs (SVG/VML) 是否基于纯粹的绘图而不是利用图像来开发类似的组件,例如 Flicr Map 或 Google Map。与 flickr 地图或谷歌地图不同,我们的地图将更多地与用户交互,并涉及大量绘图。
如果使用 SVG/VML 而不是 Flash,任何人都可以建议我吗?它将帮助我排除 SVG,如果有人对它有不好的体验的话。
注意:如果有人知道 SVG 实时运行的巨大实现,它将帮助我避免 SVG 中的 POC。
谢谢 ..
javascript - 在 Raphaël 的路径上附加文本?
有谁知道如何将文本附加到 Raphaël 中的路径?类似http://www.w3.org/TR/SVG11/images/text/toap02.svg 我知道 jQuery SVG 可以做到这一点,但我找不到使用 Raphaël js 的简单方法。我想将此文本附加到贝塞尔曲线并移动它。
javascript - 沿路径的 SVG 动画与拉斐尔
我对 SVG 动画有一个相当有趣的问题。
我正在使用 Raphael 沿圆形路径制作动画
circlePath 方法是我自己创建的一种以 SVG 路径表示法生成圆形路径的方法:
到目前为止,一切都很好 - 一切正常。我让我的对象(obj)沿着圆形路径制作动画。
但:
仅当我在与路径本身相同的 X、Y 坐标处创建对象时,动画才有效。
如果我从任何其他坐标(例如,沿路径的中途)开始动画,则对象会在正确半径的圆中进行动画处理,但是它会从对象 X、Y 坐标开始动画,而不是沿着路径直观地显示出来。
理想情况下,我希望能够停止/启动动画 - 重新启动时会出现同样的问题。当我停止然后重新启动动画时,它会从停止的 X,Y 开始在一个圆圈中动画。
更新
我创建了一个演示该问题的页面:http: //infinity.heroku.com/star_systems/48eff2552eeec9fe56cb9420a2e0fc9a1d3d73fb/demo
点击“开始”开始动画。当您停止并重新启动动画时,它会从当前圆坐标以正确尺寸的圆继续。
javascript - 检测一个点是在 raphael.js 形状的内部还是外部
我有一个 raphael.js 形状,我在上面绘制圆圈。如果圆圈没有超出它被绘制到的形状的边界,我只希望出现一个圆圈。
为了更清楚地说明这一点,这是我不希望发生的示例:
示例 http://img682.imageshack.us/img682/4168/shapeh.png
我希望灰色区域之外的圆圈不出现。我如何检测一个圆圈是在灰色形状的内部还是外部?
raphael - 为什么 Raphael 的帧速率在这段代码上会变慢?
所以我只是用 Raphael JS 做一个基本的轨道模拟器,我画一个圆圈作为“星”,另一个圆圈作为“行星”。它似乎工作得很好,一个障碍是随着模拟的继续,它的帧速率逐渐减慢,直到轨道运动不再显得流畅。这是代码(注意:仅使用 jQuery 来初始化页面):
无论如何,对我来说,该代码的任何部分都不会导致动画逐渐减慢到爬行,因此任何解决问题的帮助将不胜感激!
svg - Inkscape moveTo 协调拉斐尔的路途
我正在尝试将路径从 inkscape 复制到 Raphael(各个国家/地区),问题是 moveTo 距离很远,如何使其显示在画布上相对正确的位置?
javascript - 定位 SVG 元素
在第一次使用 SVG 的过程中(使用Raphael库),我遇到了在画布上以完全包含在画布中的方式定位动态元素的问题。我正在尝试做的是随机放置n 个单词/短语。
由于文本是可变的,它的位置也需要是可变的,所以我正在做的是:
0,0
最初在没有不透明度的点创建文本。- 使用 .检查绘制的文本元素的宽度
text.getBBox().width
。 - 将新
x
坐标设置为Math.random() * (canvas_width - ( text_width/2 ) - pad)
。 - 将文本的坐标更改
x
为新设置的值 (text.attr( 'x', x )
)。 - 将文本的不透明度属性设置为 1。
我将是第一个承认我的数学头脑有限的人,但这似乎很简单。不知何故,我的文本仍然超出了画布的右边缘。为简单起见,我x
通过将其添加到Math.random()
结果中删除了也设置最小值的位。不过,它就在那里,我在画布的前缘看到了同样的问题。
我的理解(例如)是,这些Math.random()
位会生成一个介于 0 和 1 之间的数字,然后可以乘以某个数字(在我的情况下,画布宽度 - 文本宽度的一半 - 一些任意填充)以获得外界。我将文本的宽度分成两半,因为它在网格上的位置设置在它的中心。
我希望我已经盯着这个太久了,但是我的数学是生锈的还是我误解了关于Math.random()
这个解决方案引擎盖下的 、SVG、文本或其他任何东西的行为?
javascript - 如何使用 Javascript 访问 SVG 元素
我在搞乱 SVG,我希望我可以在 Illustrator 中创建 SVG 文件并使用 Javascript 访问元素。
这是 Illustrator 踢出的 SVG 文件(它似乎还在我删除的文件的开头添加了一堆垃圾)
正如您可能看到的,每个元素都有一个 ID,我希望能够使用 Javascript 访问单个元素,这样我就可以更改 Fill 属性并响应点击等事件。
HTML是沼泽基础
我想这真的是两个问题。
是否可以这样做,而不是使用 Raphael 或 jQuery SVG 之类的东西。
如果可能,技术是什么?
更新
目前,我使用 Illustrator 创建 SVG 文件,我使用Raphaël JS创建路径并简单地从 SVG 文件复制点数据并将其粘贴到path()
函数中。通过手动编码点数据来创建地图可能需要的复杂路径(据我所知)非常复杂。
javascript - IE7 中的 animateAlong 问题
我无法在 IE7 中沿着路径移动一个简单的形状(实际上是我尝试过的唯一 IE 版本)。以下代码在 chrome 和 firefox 中运行良好,但在 IE 中运行良好。我找不到明显的原因,有人见过类似的东西吗?
我的 rPath 变量具有路径和起点坐标。
Microsoft 脚本调试器指出这一行是代码中断的地方:
有任何想法吗?在 IE7 中使用 raphael 的 animateAlong 的任何经验(好或坏)?
TIA,安德烈