问题标签 [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.
java - 如何让batik在后台启动GVT Rendering?
我试图让我的应用程序在应用程序启动时呈现所有 SVG 图像,然后显示主框架。当我启动我的应用程序时,它会加载几个 SVG 图像。不幸的是,目前它显示空白帧,然后渲染图像。
我想替换:
像这样:
如果我这样做,后面的代码可以工作:
但我不想这样做。如果我不显示帧,SVG 组件将不会开始渲染。
任何想法如何“正确”地做到这一点?
java - 渐变颜料在 Apache Batik 的 svggen 中不起作用
我正在使用 Apache Batik 的 SVGGraphics2D 类将我的挥杆绘图调用桥接到 SVG。除了完全忽略 LinearGradientPaint 元素外,它工作正常。设置代码取自 svggen 教程,并且尽可能简单。
svg 文件报告“填充:无”。有什么我遗漏的东西还是这是一个错误?该代码使用蜡染版。JRE 1.6 Swing 类上的 1.7。
java - 从java中的许多小svg文件创建SVG文件
我目前正在使用 JavaFX 2.2 和 Batik。我有一个带有窗格的应用程序,您可以在该窗格上拖动多张 SVG 图片。这一切都解决了,每张图片的 svg 代码都存储在每个对象中,所以我也可以得到它。
但是现在我想对该窗格及其当前的 SVG 子项进行“截图”并将其导出为 svg 文件。
在我看来,有两种可能:
1) 使用 takeSnapshot() 函数将其导出为 .png 文件并将其转换为 svg
2)或从所有小svg文件中创建一个新的svg文件,注意每个svg图片对象的位置。
后者可能吗?或者有谁知道,蜡染是否可以做这个 png 到 svg 的转换?
非常感谢你的帮助!:)
java - 如何在程序中更改蜡染中 SVG 图像的属性?
我希望能够在程序运行时通过按下按钮来更改 SVG 文档的属性(例如,通过更改填充颜色将黑色方块变为蓝色)。这是我的代码:
然后我希望能够使用文档通过 id 获取元素并在按下这样的按钮时更改元素的属性:
图形不会更新!请帮忙!
css - Apache Batik 中的 querySelector
我想在 Apache Batik DOM 中查询与 CSS 选择器匹配的元素。
Batik 是否提供以下任何浏览器 DOM 方法的替代方法?
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 的比率缩放后单词的新大小?
java - 调整包含 JSVGCanvas 的 JComponent 的大小时出现 Batik IllegalStateException
我的程序似乎运行良好,但是当我尝试调整组件大小时,我不断收到“IllegalStateExceptions:RunnableQueue 未启动或已退出”。我已将 documentState 设置为 ALWAYS_DYNAMIC,并且我读到您应该使用 JSVGCanvas 的 UpdateManager 并调用 invokelater()。我了解它在第一次之后可用
被调用,所以我在使用它之前检查它是否正在运行,但我仍然得到异常。下面的方法被一个线程反复调用,似乎导致了异常:
实际调整大小在这里完成:
方法
来电
这是完整的堆栈跟踪:
在此先感谢,我到处搜索并尝试了很多,但找不到解决方案。
编辑:这是 Batik 的 invokeLater-Method 实际抛出异常的地方:
runnableQueueThrad 设置在该类的 run()-Method 中,并在最后设置为 null。所以我想我必须做一些同步。
sax - 使用 Batik 检查 SVG 上传
我尝试检查上传的 SVG 图形并寻找图像元素以读取 href 属性。我正在使用Batik 1.7搜索相应的元素。通过使用'getElementsByTagName' / 'getElementsByTagNameNS'
我只得到一个空列表。这是我的代码:
那么我在这里缺少什么?
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。
java - 将项目添加到现有的 svg 图像
大家下午好;
我目前正在开发一个 Java 项目,尝试创建一个桌面工具。我的问题是我现在正在使用框架(plantuml)来获取 svg 格式的图形。但是,我想更改 svg 输出中的现有项目(或我们可以说的组件)并以另一种方式显示它(例如添加细节)。我对此进行了一些研究,发现两个框架可以帮助我实现目标;
1.) http://xmlgraphics.apache.org/batik/ 2.) http://svgsalamander.java.net/
问题; 有没有其他框架可以帮助我操纵现有的 svg?我应该使用哪一个,我应该如何使用我有点迷茫。我不知道从哪里开始。
假设是:我无法改变有关植物的任何事情。所以我只有一个 .svg 格式的图像。
问候 ...