问题标签 [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 投票
5 回答
531 浏览

java - 编程简单的绘图应用程序

为了对数据进行一些可视化,我想在我的图表中包含矩形、圆形和文本。有谁知道可以导出 SVG 图形的基于 Java 的框架(可能类似于非常基本的 Powerpoint 功能)?

0 投票
9 回答
4848 浏览

graphics - 学习 SVG 的书籍/教程

这里有人知道SVG吗?如果有,你是怎么学的?

任何书籍/教程指针都将是有益的。另外我是程序员,不是设计师,所以我也想在那里学习一些技能。

0 投票
8 回答
44115 浏览

javascript - 如何检查嵌入的 SVG 文档是否加载到 html 页面中?

我需要编辑(使用 javascript)嵌入在 html 页面中的 SVG 文档。

加载 SVG 后,我可以访问 SVG 的 dom 及其元素。但我无法知道 SVG dom 是否已准备好,因此在加载 html 页面时,我无法在 SVG 上执行默认操作。

要访问 SVG dom,我使用以下代码:

其中“chart”是嵌入元素的 id。

如果我在 html 文档准备好时尝试访问 SVG,以这种方式:

svg 始终为空。我只需要知道它什么时候不为空,这样我就可以开始操作它了。你知道有没有办法做到这一点?

0 投票
2 回答
1018 浏览

flash - 使用 Flash 显示 SVG 渐变?

我正在使用 AS3 (Flash)读取 SVG 文件显示它们。问题是正确显示线性/径向渐变。

以下是SVG 中从RedBlue的简单线性渐变示例。

我已经能够从渐变中读取颜色(stop 的样式),以及它们在渐变中的间距(stop 的偏移量)。

好的,所以现在我有了一个很好的渐变颜色正确,它们之间的空间量也恰到好处,但没有旋转或缩放,而且它的位置不正确!.

答案是将矩阵输入到 Flash 的渐变函数中。


方法 1:使用提供的矩阵

SVG提供的矩阵, gradientTransform="matrix(a,b,c,d,e,f)"似乎实际上没有用,因为当您将该矩阵输入 Flash 的beginGradientFill() 函数时,它会显示在形状上拉伸的渐变如此之多,以至于只有渐变的中心颜色可见,就像实心填充一样。


方法 2:使用 2 个梯度点生成矩阵

  • x1, y1标签可能是屏幕上渐变开始的点
  • x2、y2标签可能是屏幕上渐变结束的点。

当我说“2 个渐变点”时,我指的是 x1,y1 和 x2,y2,它们主要告诉您渐变在形状上的哪个位置开始和结束。

有一个Matrix.createGradientBox()函数,它创建一个用于渐变的矩阵,但参数与 SVG给我的参数非常不同。它想要:

  1. 宽度--- 这里使用了 2 个渐变点之间的相对距离(X 轴)
  2. 高度 --- 这里使用了 2 个渐变点之间的相对距离(Y 轴),但得到了不正确的结果--- 也尝试了这里使用2 个渐变点之间的距离,但我不知道在宽度中填充什么!
  3. 旋转角度——使用了 2 个渐变点的角度,以弧度为单位,结果不正确!
  4. 翻译 x -- 尝试了第一个梯度点的 X,也尝试了 0,结果不正确!
  5. 平移 y -- 尝试了第一个梯度点的 Y,也尝试了 0,但结果不正确!

我可以使用哪些 SVG 数据为 Flash 生成渐变矩阵?

(看看上面的 SVG 片段,这就是我描述渐变的所有数据)

0 投票
1 回答
413 浏览

wpf - 卡特曼的 Silverlight 教程

几个月前,我看到了 Eric Cartman(南方公园)的 Silverlight 教程。它使用来自http://en.wikipedia.org/wiki/File:Eric.svg的矢量图像为他制作动画。但是,我似乎再也找不到那个教程了。

有人可以指出我正确的方向吗?

0 投票
1 回答
684 浏览

svg - 可以在 SVG 中创建(或伪造)二维渐变吗?

我正在尝试创建一个必须动态生成其图像的颜色选择器,并认为生成 SVG 比生成光栅图像要容易得多。不幸的是,我不知道如何表示将形成选取器核心的大二维渐变。

例如,如果当前选择的轴是蓝色和绿色,我需要绘制一个正方形,它的左下角为黑色,左上角为蓝色,右下角为绿色,右上角为青色。

如果有办法通过覆盖两个linearGradient填充的正方形并使用它们的不透明度来实现这一点,我无法解决。我还尝试创建一个渐变,其起点和终点颜色是其他渐变(希望我很聪明),但我得到的只是“大黑什么都没有”。到目前为止,谷歌搜索让我一无所获。

我不想求助于一堆 256 个 1 像素高的渐变,这既是因为尺寸和复杂性的增加,也是因为我怀疑它不会很好地调整大小。也许对 SVG 有更多工作知识的人可以提出一些建议

0 投票
2 回答
936 浏览

javascript - 使用 Javascript 预览 SVG?

有没有一种简单的方法可以使用 javascript 在页面内呈现 SVG?我想要做的是设置一个大的文本区域,用户可以在其中键入 SVG 并单击在页面上呈现它的按钮。

0 投票
2 回答
646 浏览

scripting - 程序化图形工具链

我在Inkscape中绘制了一个图标,但现在想以编程方式对其进行更改(针对不同的图标状态稍微更改颜色)并将其转换为包含多个不同颜色图标的平铺 PNG 格式文件。我知道 Inkscape 的--export-png选项,但看不到让它更改图像和/或多次导出到组合图像的不同部分的方法。

是否有任何好的面向用户的工具来以编程方式摆弄图像,或者我是否必须深入研究 GD 甚至手动修改 SVG XML?

0 投票
2 回答
2360 浏览

.net - .NET WebBrowser 控件与 Adob​​e SVG 查看器

我在 .NET 2.0 WebBrowser 控件中加载 SVG 文件时遇到问题。如果我创建一个新的 WinForms 应用程序项目,将一个 WebBrowser 控件和一个按钮拖到 Form1.cs 设计图面上,并在按钮的单击处理程序中添加一行以将 WebBrowser 控件的 Url 属性设置为 SVG 文件,我在运行时出现两个 IE 脚本错误(如出现 Javascript 问题时出现的对话框)。因此,我正在编写的唯一代码行是:

如果我使用 IE 直接浏览链接,则此 SVG 文件可以正常加载;我通过我的测试应用程序得到的错误是:

(假设我对“继续在此页面上运行脚本”的提示回答“是”)。

我正在使用IE 7.0.5730.13, Adobe SVG Viewer 3.03 build 94, Visual Studio 2008. 任何人都可以复制这个吗?有没有人看到它/知道如何解决它?

(编辑:之前为了示例的目的在构造函数中设置了 URL,但这引发了控件是否已完成初始化的问题,因此已将示例更改为使用按钮 - 问题仍然存在。这个错误最初出现在生产代码中,所以我编写的示例程序试图隔离问题并尽可能简单地重现它。)

(编辑2:在几台不同的机器上测试过,这个问题似乎与IE7有关——运行IE6,一切正常。)

0 投票
1 回答
1466 浏览

netbeans - Netbeans J2ME SVG 合规性

我为我正在处理的项目编写了一些 svg 图像。但是当我尝试将它们放在 netbeans 软件(j2me)中的屏幕(表单)上时,它会说“图像不符合 SVG Tiny”。我什至尝试使用 Sun 的 WTK 演示的THAT WORK部署时的 svg 图像进行测试,但它说的是同样的事情。关于出了什么问题的任何想法?