问题标签 [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.

0 投票
1 回答
1144 浏览

flash - 使用 SVG (raphaeljs) 开发基于地图的应用程序

我正在评估raphaeljs (SVG/VML) 是否基于纯粹的绘图而不是利用图像来开发类似的组件,例如 Flicr Map 或 Google Map。与 flickr 地图或谷歌地图不同,我们的地图将更多地与用户交互,并涉及大量绘图。

如果使用 SVG/VML 而不是 Flash,任何人都可以建议我吗?它将帮助我排除 SVG,如果有人对它有不好的体验的话。

注意:如果有人知道 SVG 实时运行的巨大实现,它将帮助我避免 SVG 中的 POC。

谢谢 ..

0 投票
3 回答
8910 浏览

javascript - 在 Raphaël 的路径上附加文本?

有谁知道如何将文本附加到 Raphaël 中的路径?类似http://www.w3.org/TR/SVG11/images/text/toap02.svg 我知道 jQuery SVG 可以做到这一点,但我找不到使用 Raphaël js 的简单方法。我想将此文本附加到贝塞尔曲线并移动它。

0 投票
1 回答
7169 浏览

javascript - 沿路径的 SVG 动画与拉斐尔

我对 SVG 动画有一个相当有趣的问题。

我正在使用 Raphael 沿圆形路径制作动画

circlePath 方法是我自己创建的一种以 SVG 路径表示法生成圆形路径的方法:

到目前为止,一切都很好 - 一切正常。我让我的对象(obj)沿着圆形路径制作动画。

但:

仅当我在与路径本身相同的 X、Y 坐标处创建对象时,动画才有效。

如果我从任何其他坐标(例如,沿路径的中途)开始动画,则对象会在正确半径的圆中进行动画处理,但是它会从对象 X、Y 坐标开始动画,而不是沿着路径直观地显示出来。

理想情况下,我希望能够停止/启动动画 - 重新启动时会出现同样的问题。当我停止然后重新启动动画时,它会从停止的 X,Y 开始在一个圆圈中动画。

更新

我创建了一个演示该问题的页面:http: //infinity.heroku.com/star_systems/48eff2552eeec9fe56cb9420a2e0fc9a1d3d73fb/demo

点击“开始”开始动画。当您停止并重新启动动画时,它会从当前圆坐标以正确尺寸的圆继续。

0 投票
1 回答
538 浏览

svg - RaphaelJS 可以感知对象吗?

在试图弄清楚是否可以使用RaphaelJS在矩形边界内包含文本的过程中(并且没有做看起来很多工作的事情),我遇到了这个问题(及其答案),这让我很感兴趣.

在阅读答案之前或之后,我还没有看到任何迹象表明拉斐尔可以做这样的事情。因此,我的感觉是,这是一个油嘴滑舌的答案,但这个概念很有说服力,而且我只是闯入一些 Raphael 的工作,所以我认为值得关注这个答案并要求任何人可能能够澄清给。

谢谢。

0 投票
3 回答
4902 浏览

javascript - 检测一个点是在 raphael.js 形状的内部还是外部

我有一个 raphael.js 形状,我在上面绘制圆圈。如果圆圈没有超出它被绘制到的形状的边界,我只希望出现一个圆圈。

为了更清楚地说明这一点,这是我不希望发生的示例:

示例 http://img682.imageshack.us/img682/4168/shapeh.png

我希望灰色区域之外的圆圈不出现。我如何检测一个圆圈是在灰色形状的内部还是外部?

0 投票
1 回答
1560 浏览

raphael - 为什么 Raphael 的帧速率在这段代码上会变慢?

所以我只是用 Raphael JS 做一个基本的轨道模拟器,我画一个圆圈作为“星”,另一个圆圈作为“行星”。它似乎工作得很好,一个障碍是随着模拟的继续,它的帧速率逐渐减慢,直到轨道运动不再显得流畅。这是代码(注意:仅使用 jQuery 来初始化页面):

无论如何,对我来说,该代码的任何部分都不会导致动画逐渐减慢到爬行,因此任何解决问题的帮助将不胜感激!

0 投票
1 回答
1078 浏览

svg - Inkscape moveTo 协调拉斐尔的路途

我正在尝试将路径从 inkscape 复制到 Raphael(各个国家/地区),问题是 moveTo 距离很远,如何使其显示在画布上相对正确的位置?

0 投票
1 回答
2410 浏览

javascript - 定位 SVG 元素

在第一次使用 SVG 的过程中(使用Raphael库),我遇到了在画布上以完全包含在画布中的方式定位动态元素的问题。我正在尝试做的是随机放置n 个单词/短语。

由于文本是可变的,它的位置也需要是可变的,所以我正在做的是:

  1. 0,0最初在没有不透明度的点创建文本。
  2. 使用 .检查绘制的文本元素的宽度text.getBBox().width
  3. 将新x坐标设置为Math.random() * (canvas_width - ( text_width/2 ) - pad)
  4. 将文本的坐标更改x为新设置的值 ( text.attr( 'x', x ))。
  5. 将文本的不透明度属性设置为 1。

我将是第一个承认我的数学头脑有限的人,但这似乎很简单。不知何故,我的文本仍然超出了画布的右边缘。为简单起见,我x通过将其添加到Math.random()结果中删除了也设置最小值的位。不过,它就在那里,我在画布的前缘看到了同样的问题。

我的理解(例如)是,这些Math.random()位会生成一个介于 0 和 1 之间的数字,然后可以乘以某个数字(在我的情况下,画布宽度 - 文本宽度的一半 - 一些任意填充)以获得外界。我将文本的宽度分成两半,因为它在网格上的位置设置在它的中心。

我希望我已经盯着这个太久了,但是我的数学生锈的还是我误解了关于Math.random()这个解决方案引擎盖下的 、SVG、文本或其他任何东西的行为?

0 投票
3 回答
195881 浏览

javascript - 如何使用 Javascript 访问 SVG 元素

我在搞乱 SVG,我希望我可以在 Illustrator 中创建 SVG 文件并使用 Javascript 访问元素。

这是 Illustrator 踢出的 SVG 文件(它似乎还在我删除的文件的开头添加了一堆垃圾)

正如您可能看到的,每个元素都有一个 ID,我希望能够使用 Javascript 访问单个元素,这样我就可以更改 Fill 属性并响应点击等事件。

HTML是沼泽基础

我想这真的是两个问题。

  1. 是否可以这样做,而不是使用 Raphael 或 jQuery SVG 之类的东西。

  2. 如果可能,技术是什么?


更新

目前,我使用 Illustrator 创建 SVG 文件,我使用Raphaël JS创建路径并简单地从 SVG 文件复制点数据并将其粘贴到path()函数中。通过手动编码点数据来创建地图可能需要的复杂路径(据我所知)非常复杂。

0 投票
2 回答
253 浏览

javascript - IE7 中的 animateAlong 问题

我无法在 IE7 中沿着路径移动一个简单的形状(实际上是我尝试过的唯一 IE 版本)。以下代码在 chrome 和 firefox 中运行良好,但在 IE 中运行良好。我找不到明显的原因,有人见过类似的东西吗?

我的 rPath 变量具有路径和起点坐标。

Microsoft 脚本调试器指出这一行是代码中断的地方:

有任何想法吗?在 IE7 中使用 raphael 的 animateAlong 的任何经验(好或坏)?

TIA,安德烈