问题标签 [svg]

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 投票
4 回答
1520 浏览

apache-flex - 在 ActionScript3 中使用 Embed 元标记时支持哪些类型的 SVG 渐变填充

我一直在尝试使用 Embed 元标记将一些 svg 文件嵌入到 AS3 项目中。例如:

然而,当将这些文件显示为 Sprite 时,只有一些渐变在嵌入过程中幸存下来。

根据我的发现,简单(2 步)水平渐变似乎最有可能被保留,但有时其他类型的渐变也是如此。在一种情况下,简单地将对象旋转 90 度会导致渐变在 Flash 中显示时消失。

有谁知道创建 svg 渐变填充时要使用的一组粗略规则,以便在 Flash 中渲染时保留它们?

顺便说一句:我使用 Inkscape 来创建有问题的图像。

更新:奇怪的是,解决这个问题的方法似乎是将 svg 文件中的任何对象的不透明度设置为不正确显示渐变的值低于 1。不要问我为什么这有效,但它确实有效。然而,它确实具有对象边缘不平滑渲染的不良副作用。

0 投票
4 回答
6931 浏览

scripting - 是否有可用于调整 SVG 大小的脚本?

有没有办法将 .SVG 从其当前大小(数千像素)重新缩放到更小的大小?我试过 ImageMagick,但它对 SVG 渐变的支持太弱了,没有用。

目的是解决渲染库中的错误,该错误有时会导致具有大像素大小的 svg 分配大栅格(在最终平滑地重新缩放以进行实际显示之前)。

例如,我怎样才能改变这个 1024x1024px svg:

到 102.4x102.4 SVG?如果它也没有丢弃 SVG 的碎片,那就太好了(这会排除 libsvgbin2,尽管它很接近)。

0 投票
4 回答
3197 浏览

java - 如何显示 SVG 图形的一个小节或“切片”?

有没有办法切片 SVG 。我的意思是任何已经可用的 lib 。我需要在 Java 中实现这个切片组件。

我的意思是,我有单个 SVG 文件和基于图形选择的标尺/刻度,我想将单个 SVG 分割成不同的 SVG 文件。

希望我清楚

0 投票
2 回答
2569 浏览

css - 渐变服务器作为 SVG 中的外部文件

可能重复:
在 SVG 中包含 SVG 文件

SVG 中的 fill 属性接受一个指向渐变/图案元素的 url,即所谓的“绘画服务器”的一个实例。

问题:是否可以在任何浏览器(当然不是 IE)中使用在外部 SVG 文件中定义的渐变?就像,在rect.svg

和对应的<linearGradient />元素grad.svg

这将是非常好的,因为这样就可以将他所有的渐变/图案存储在一个文件中并获得缓存......

干杯,

更新:就其含义而言,这个问题是在 SVG 中包含 SVG 文件的副本(至少 Firefox 已经回答了该问题)。我保持开放,因为我认为标题和标签更有可能被你找到。

0 投票
1 回答
839 浏览

java - SVG线性渐变比例和平移问题

我有以下径向渐变:

我想将这个梯度减小 90%,并根据这个新的比例适当地转换它(x 位置变为 402.2,y 位置变为 545.1,等等)。

显然,将 cx、cy、fx、fy 和 r 乘以 0.1 将使我获得成功。但是,我如何以编程方式重做 gradientTransform 以完成剩下的工作?

0 投票
5 回答
45400 浏览

jquery - 使用 JQuery 和 Jquery-svg 可拖动的 SVG

我有一个 HTML 5 页面,我在其中加载了一个 svg 圆圈。当我点击圆圈时,我会在其中创建另一个小圆圈。我希望能够拖动第二个圆圈,但似乎无法使用 jquery-ui .draggable();

我可以通过访问它的 cx 和 cy 属性来移动圆,所以必须有一种方法可以拖动它。

0 投票
7 回答
17961 浏览

firefox - HTML 中的内联 SVG,使用 Firefox 3.5

我正在尝试创建一些混合的 HTML/SVG 内容并且遇到了一些麻烦。HTML 内容按预期显示,但内联 SVG 没有。所以,我做了一些实验。

我发现有内联 SVG 示例的网站,它们在我的系统上正确呈现。因此,我“查看页面源代码”并将 HTML/SVG 复制/粘贴到另一个本地文件中,然后在 Firefox 中打开该文件。内联 SVG 不可见。

我也用 Chrome 尝试了同样的实验,同样的结果。

我可能会错过什么?

更新
我的身份略有改变:k montgomery -> kmontgom on use of OpenID。

无论如何感谢所有回答的人。最好的解决方案是设置 Response.ContentType;这让我现在继续使用 WebForms 方法。

我曾考虑在 .xml 文件中制作纯 XHTML 内容并使用 ASP.NET MVC 来提供该内容。我将来可能最终会这样做。

现在,继续使用 jQuery、SVG 并让这件事有所作为。

感谢所有的帮助。

0 投票
4 回答
13654 浏览

javascript - 使用 raphaeljs javascript 图形库清除容器的最简单方法

我必须清除并重绘一个 raphael javascript 主容器。我试过了

任何想法?

0 投票
1 回答
1394 浏览

graphics - 旋转3D立方体透视问题

从我 13 岁开始使用 AMOS 3D 开始,我就一直想学习如何编写 3D 图形。现在,10 年后,我终于认为我已经积累了足够的数学知识来尝试一下。

我遵循了各种教程,并将screenX(和screenY,等效地)定义为

(加上偏移和缩放。)

我的问题是距离变量实际指的是什么。我已经看到距离被定义为相机和点之间的 z 差。但是,这并不完全正确,因为 x 和 y 对从相机到该点的实际距离具有与 z 相同的效果。我将距离实现为实际距离,但结果给出了一个有点倾斜的视角,好像它有“太多”的视角。

我的“实际距离”实现大致如下:

使用代码,我在方程中添加了一个额外的变量,一个透视系数,如下所示:

出于某种原因,这超出了我的范围,我倾向于将透视系数设置为 1/sqrt(2) 以获得最佳结果。

我的 3D 测试立方体位于http://vega.soi.city.ac.uk/~abdv866/3dcubetest/3dtest.svg。(在 Safari 和 FF 中测试。)它会提示您输入透视系数,其中 0 给出不考虑 x/y 距离的透视,而 1 给出同样考虑 x、y 和 z 距离的透视。默认为 1/sqrt(2)。立方体可以使用箭头键围绕 x 和 y 旋转。(任何有兴趣的人,相关代码都在 View.js 文件的 update() 中。)

感谢您对此的任何想法。

0 投票
1 回答
2668 浏览

xml - svg 中的网页链接

我需要在 svg 图中有一个链接文本。这是我所做的

我希望命名空间htmlhtml:a标签会导致对条形文本的正确处理。但我得到的是该栏没有显示。正如答案中所建议的,我可以使用该svg:a元素,但我不明白为什么我的方法不起作用。我希望浏览器 HTML 渲染器能够启动并处理 DOM 树的那部分。