问题标签 [svg-salamander]

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 投票
2 回答
8441 浏览

java - SVG蝾螈例子?

我在玩 Java 和 SVG Salamander,但不知道如何将简单的 SVG 文件渲染成JPanel.

有人可以给我一个简单的例子吗?尝试按照官方网站中的宽松教程进行操作,但找不到简单的代码来更好地理解。

0 投票
2 回答
3394 浏览

svg - 我可以使用 SVG Salamander 将 SVG 光栅化为 PNG 文件吗?

我已经看到它,因为 SVG-Salamander 对我的项目来说足够小。但我不知道我是否可以使用它,也不知道该怎么做。

我用过这段代码:

但是图像不流畅:(,有什么想法吗?

0 投票
0 回答
1689 浏览

java - SVG 蝾螈图像

在过去的几天里,我一直在尝试使用 SVG Salamander 和 Java 处理和光栅化 svg 文件,但无法让它工作。

这是我的 SVG 文件,由 Adob​​e Illustrator 生成。它基本上包含一些随机文本,其中一个 tspan 被设置为显示黄色文本。

通过我的程序,我的目标是更改一些 tspan 文本颜色,然后将 svg 光栅化为 .png。第一种方法遍历 SVG 文档树并将唯一的 id 添加到所有标签。第二种方法随机选择一组这些 id,选择相应的 tspan 并设置填充属性(直到这里一切似乎都工作正常,一些调试显示我得到了正确的 tspan 并且填充属性设置正确)然后栅格化 svg。这是问题开始的地方:生成的 .pngs 不显示更改的字体颜色(文本颜色只是纯黑色,即使示例 xml 中的黄色 tspan 以某种方式“更改”为黑色。一些测试告诉我, 它甚至不显示更改的 tspan 文本内容。下面是设置属性和渲染的代码:

到目前为止,您有什么可以解释我的问题的吗?任何帮助表示赞赏!

Ps:如果我使用 Illustrator 在 SVG 中放置一个红色矩形,则该矩形在生成的 .png 中也是红色的。所以不知何故,这个问题似乎只影响我在我的程序中“触摸”的 tspan 或标签......

0 投票
1 回答
419 浏览

java - Java中的SVG圆分辨率

我有一个用 SVG 表示的圆圈:

然后我将此圆转换为 Java 中的 BufferedImage,宽度和高度 = 100,imageType = BufferedImage.TYPE_INT_ARGB。然后我通过以下代码将此 BufferedImage 绘制到另一个上:

其中 circleImg 是 SVG 圆的 BufferedImage。这工作正常并绘制到图像上,但是它非常像素化。有什么办法可以让圆更平滑吗?我宁愿继续使用 SVG,但如果 SVG 没有办法,也可以考虑其他方式。

我尝试过的事情:

  1. 我已将圆的半径设置为 500,并将 BufferedImage 的高度和宽度设置为 100。
  2. 我已将 BufferedImage 的高度和宽度设置为 1000,并使用 draw 方法将高度和宽度作为参数并将它们设为 100。
  3. 我同时做了1和2。
  4. 我也尝试过使半径更大,即。2500
  5. 我还将 circleImg 参数更改为 circleImg.getScaledInstance(100, 100, 1)

没有任何效果。有些看起来更平滑,但不是很多,有些看起来更糟。另外需要注意的是,我在使用 g.drawOval(150, 150, 100, 100) 时也观察到像素化。这让我相信问题不在于 SVG,但我可能错了。

Java版本:

对于 SVG,我使用的是 SVG-Salamander v1.0

0 投票
1 回答
532 浏览

java - 如何更改文本元素中的文本

我的 SVG 文件中有这一行:

我可以用这个获得一个 Text 类的对象,但我看不到任何将“2”更改为另一个数字的可用方法。appendText 方法似乎什么都不做,我看到没有“setText”方法。

我的代码:

调试时,我可以看到文本对象的内容变量设置为“2”(所以我认为文本元素制作正确)但我无法更改它。

0 投票
1 回答
361 浏览

java - 使用有效的 svg xml 和 SVGSalamander 创建 SVGIcon

我有一个 .xml 文档,它是一个有效的 SVG 图像。

我想用不同的颜色加载这个图标。但我不能。

作为解决方案,首先我将 xml 文件作为字符串读取并使用简单的 String.replace() 替换颜色

现在我必须使用我的新 XML 内容创建一个 SVGIcon。

是否可以使用 SVG Salamander 库来做到这一点。

0 投票
1 回答
985 浏览

java - SVG 动画与 SVG Salamander (Java 1.8)

我正在使用 SVG Salamander 和 Java(1.8)。我应该如何为 SVG 图像设置动画?

加载的 .svg 文件已经包含动画。我想我需要以某种方式更新图像,但是如何?

我听说你可以通过 SVGUniverse 为每个 DOM 元素设置动画。但这听起来有点丑...

当前的层次结构使用,如果有帮助的话:SVGPanel <- Jlabel <- SVGIcon

0 投票
1 回答
311 浏览

java - How to rotate elements with SVG Salamander

I use SVG Salamander to display and manipulate SVG images in Java. I managed to change fill, stroke or text of elements and display the changes.

Now I want to rotate an element. So I tried to manipulate the transformation matrix:

Output:

matrix(0.87615346,0.48203226,-0.48203232,0.87615346,468.09264,-25.725313) matrix(-0.39394618,-0.91913346,0.91913357,-0.39394618,-429.42706,1513.019)

As I can see in the output, the matrix is changed. But the element is not rotating in the picture.

0 投票
1 回答
156 浏览

java - 带有 SVG Salamander 的 Java 应用程序 JFrame 不可见

我想在 Java 应用程序的主框架中显示我的 SVG 文档。

dimMax 已设置并包含:1680x1050

我创建了 SVG 文档:

但是窗口不可见,如果我将光标放在任务栏中的图标上,我会看到一个空窗口,但没有显示窗口。

这是 SVG (StringBuilder sbSVG) 的内容:

要查看上面的 SVG,只需复制到一个新的文本文件中,另存为“test.svg”之类的文件并在网络浏览器中打开。我用 Firefox 完全做到了这一点,它渲染得很好,显示了两个绿灯。

0 投票
1 回答
74 浏览

java - Java SVG蝾螈线性渐变未显示

我在应用程序中使用 SVG Salamander,我生成了 SVG,但是当它被渲染时,“linearGradients”没有显示,元素的内容只是纯黑色。

如果我使用生成的 SVG 并在 Firefox 中打开它,一切都是正确的并且可以正确呈现。

SVG:

在浏览器中查看时工作正常:

https://jsfiddle.net/SimonPlatten/kcnz1sn5/1/

但当 SVG Salamander 在 Java 应用程序中呈现时不会。