问题标签 [batik]

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 投票
0 回答
307 浏览

java - 如何让batik在后台启动GVT Rendering?

我试图让我的应用程序在应用程序启动时呈现所有 SVG 图像,然后显示主框架。当我启动我的应用程序时,它会加载几个 SVG 图像。不幸的是,目前它显示空白帧,然后渲染图像。

我想替换:

像这样:

如果我这样做,后面的代码可以工作:

但我不想这样做。如果我不显示帧,SVG 组件将不会开始渲染。

任何想法如何“正确”地做到这一点?

0 投票
1 回答
368 浏览

java - 渐变颜料在 Apache Batik 的 svggen 中不起作用

我正在使用 Apache Batik 的 SVGGraphics2D 类将我的挥杆绘图调用桥接到 SVG。除了完全忽略 LinearGradientPaint 元素外,它工作正常。设置代码取自 svggen 教程,并且尽可能简单。

svg 文件报告“填充:无”。有什么我遗漏的东西还是这是一个错误?该代码使用蜡染版。JRE 1.6 Swing 类上的 1.7。

0 投票
1 回答
448 浏览

java - 从java中的许多小svg文件创建SVG文件

我目前正在使用 JavaFX 2.2 和 Batik。我有一个带有窗格的应用程序,您可以在该窗格上拖动多张 SVG 图片。这一切都解决了,每张图片的 svg 代码都存储在每个对象中,所以我也可以得到它。

但是现在我想对该窗格及其当前的 SVG 子项进行“截图”并将其导出为 svg 文件。

在我看来,有两种可能:

1) 使用 takeSnapshot() 函数将其导出为 .png 文件并将其转换为 svg

2)或从所有小svg文件中创建一个新的svg文件,注意每个svg图片对象的位置。

后者可能吗?或者有谁知道,蜡染是否可以做这个 png 到 svg 的转换?

非常感谢你的帮助!:)

0 投票
0 回答
1487 浏览

java - 如何在程序中更改蜡染中 SVG 图像的属性?

我希望能够在程序运行时通过按下按钮来更改 SVG 文档的属性(例如,通过更改填充颜色将黑色方块变为蓝色)。这是我的代码:

然后我希望能够使用文档通过 id 获取元素并在按下这样的按钮时更改元素的属性:

图形不会更新!请帮忙!

0 投票
1 回答
276 浏览

css - Apache Batik 中的 querySelector

我想在 Apache Batik DOM 中查询与 CSS 选择器匹配的元素。

Batik 是否提供以下任何浏览器 DOM 方法的替代方法?

0 投票
1 回答
625 浏览

java - 如何缩放词云?

我正在研究词云生成。

我的话应该出现在 (0, 0, w, h) 的矩形中,其中 w 是最大宽度,h 是最大高度。

我已经有了一个生成词云的算法,但有时这些词超出了矩形的边界,或者有太多未使用的空间。词云的真实边界是 (0, 0, maxX, maxY)。

我的缩放想法是这样的:

假设我在 (x1, y1, x2, y2) 的矩形中有一个单词。如果我调用 scale(1.5),那么矩形的新位置将是 (1.5 * x1, 1.5 * y1, 1.5 * x2, 1.5 * y2)。这是非常好的和简单的,但我有一个问题:

一个词以前的大小为 S1,位于坐标 (x1, y1, x2, y2) 上。如果我想按 r 缩放它,那么新坐标将为 (r * x1, r * y1, r * x2, r * y2)。问题:如果我知道这个词会 r * 更大/更小,那么 S2 大小的值是多少,这将是在以 r 的比率缩放后单词的新大小?

0 投票
1 回答
413 浏览

java - 调整包含 JSVGCanvas 的 JComponent 的大小时出现 Batik IllegalStateException

我的程序似乎运行良好,但是当我尝试调整组件大小时,我不断收到“IllegalStateExceptions:RunnableQueue 未启动或已退出”。我已将 documentState 设置为 ALWAYS_DYNAMIC,并且我读到您应该使用 JSVGCanvas 的 UpdateManager 并调用 invokelater()。我了解它在第一次之后可用

被调用,所以我在使用它之前检查它是否正在运行,但我仍然得到异常。下面的方法被一个线程反复调用,似乎导致了异常:

实际调整大小在这里完成:

方法

来电

这是完整的堆栈跟踪:

在此先感谢,我到处搜索并尝试了很多,但找不到解决方案。

编辑:这是 Batik 的 invokeLater-Method 实际抛出异常的地方:

runnableQueueThrad 设置在该类的 run()-Method 中,并在最后设置为 null。所以我想我必须做一些同步。

0 投票
1 回答
71 浏览

sax - 使用 Batik 检查 SVG 上传

我尝试检查上传的 SVG 图形并寻找图像元素以读取 href 属性。我正在使用Batik 1.7搜索相应的元素。通过使用'getElementsByTagName' / 'getElementsByTagNameNS'我只得到一个空列表。这是我的代码:

那么我在这里缺少什么?

0 投票
1 回答
253 浏览

java - 摇摆/蜡染的奇怪行为

我正在编写一个绘图应用程序,它使用蜡染框架的 JSVGCanvas 类。我的应用程序的内容窗格是一个 JLayeredPane,其中包含多个堆叠在一起的 JPanel。其中一个面板包含您可以在其上绘制的 JSVGCanvas。

但是,当我在屏幕上绘制内容时,有时会出现一些奇怪的屏幕碎片,如下图所示(黑线是用鼠标绘制的):

图纸截图 http://cip.uni-trier.de/~schaefer/batikbug.jpg

我不确定这是蜡染还是摇摆的问题,因为当我将鼠标悬停在具有自定义 ImageIcon 的红色 JButton 上时会发生类似的错误。在下图中,您可以看到其他按钮似乎出现在红色按钮的背景中。

按钮截图​​ http://cip.uni-trier.de/~schaefer/swingbug.png

有谁知道为什么会发生这种情况或我该如何解决?

编辑:

在 mouseDragged-function 中,我正在执行以下操作:

svgComponent 是一个包含 JSVGCanvas 的 JComponent。

0 投票
2 回答
1719 浏览

java - 将项目添加到现有的 svg 图像

大家下午好;

我目前正在开发一个 Java 项目,尝试创建一个桌面工具。我的问题是我现在正在使用框架(plantuml)来获取 svg 格式的图形。但是,我想更改 svg 输出中的现有项目(或我们可以说的组件)并以另一种方式显示它(例如添加细节)。我对此进行了一些研究,发现两个框架可以帮助我实现目标;

1.) http://xmlgraphics.apache.org/batik/ 2.) http://svgsalamander.java.net/

问题; 有没有其他框架可以帮助我操纵现有的 svg?我应该使用哪一个,我应该如何使用我有点迷茫。我不知道从哪里开始。

假设是:我无法改变有关植物的任何事情。所以我只有一个 .svg 格式的图像。

问候 ...