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

java - Batik:当我从线程调用 invokeLater 时出现 IllegalStateException

我已经在这里发布了一个类似的问题:Batik IllegalStateException when resizing the JComponent contains the JSVGCanvas。但是,我可以将问题简化为最少的代码集。也许这可以帮助某人找到我的问题。

我从一个线程重复调用以下代码:

有时我会收到以下异常:

这是蜡染中的错误还是我做错了什么?

0 投票
1 回答
1085 浏览

path - 为什么 Batik 不喜欢我的 SVG 图像中的“d”属性?

我的简单 SVG 图像(下图)似乎适用于某些应用程序,但不适用于其他应用程序。

例如,在 Java/Batik 应用程序中,抱怨 - '元素 <path> 的属性“d”无效。'

谁能看到蜡染会反对“d”属性的哪一部分?

0 投票
0 回答
114 浏览

java - java链接激活事件行为区别

各位晚上好;

我有 JSVGCanvas(来自蜡染框架的组件),我在画布上显示带有链接的 svg 文档。单击链接时,我想在我的挥杆上打开一个新窗口(jframe)。因此我使用的是 linkActivated 事件。但是,我的问题是

当用户单击链接时,svgcanvas 会在同一画布中显示链接。所以为了防止这种情况,我设置了初始 svg svgCanvas.setURI(f.toURL().toString()); 当链接激活触发。但是,由于方法不起作用,引用的链接出现在同一画布中。如果我在单击按钮时将相同的方法放在按钮事件中,它会将初始 svg 带回我的 svgcanvas。

谁能告诉我为什么这个事件的行为与按钮事件不同,我该如何解决这个问题?

问候 ....

0 投票
2 回答
15802 浏览

java - JAVA:SVG 到 JPG 转换器

是否有任何库可以将SVG转换为JPG?除了蜡染?我使用了 BATIK,但我发现了一些像这个异常这样的问题:

java.lang.NullPointerException at org.apache.batik.css.engine.CSSEngine.getCascadedStyleMap(CSSEngine.java:684) at org.apache.batik.css.engine.CSSEngine.getComputedStyle(CSSEngine.java:755) at org. apache.batik.bridge.CSSUtilities.getComputedStyle(CSSUtilities.java:96) at org.apache.batik.bridge.CSSUtilities.convertDisplay(CSSUtilities.java:509) at org.apache.batik.bridge.GVTBuilder.buildGraphicsNode(GVTBuilder. java:176) 在 org.apache.batik.bridge.GVTBuilder.buildComposite(GVTBuilder.java:148) 在 org.apache.batik.bridge.GVTBuilder.build(GVTBuilder.java:76) 在 org.apache.batik.transcoder .SVGAbstractTranscoder.transcode(SVGAbstractTranscoder.java:165) 在 org.apache.batik.transcoder.image.ImageTranscoder.transcode(ImageTranscoder.java:86) 在 org.apache.batik.transcoder.XMLAbstractTranscoder。转码(XMLAbstractTranscoder.java:132)

这是我的代码:

有人能帮帮我吗?

0 投票
3 回答
8479 浏览

java - java.lang.NoClassDefFoundError 将 svg 文件读取为 BufferedImage

我有一个 .svg 文件来创建一个地图,该地图将具有与边界相关的侦听器(我猜它称为可伸缩矢量图形的“节点”)。但是,我正在尝试将此文件添加为 JPanel 上的 BufferedImage。(我是关于摇摆组件的新手,所以如果您有更好的想法,请分享)。此外,我使用了Batik库并阅读了一些有关它的信息,并使用此代码示例将这个 .svg 文件作为 BufferedImage

这是我使用 GUI 组件的课程,也是我尝试使用 BufferedImage 的部分

最后,包含 main 方法的测试程序。

那么我的问题是编译器给出了一个错误

整个错误是

如果您能就这个话题提供帮助,即使有有用的建议,我将不胜感激!无论如何谢谢

0 投票
1 回答
1238 浏览

java - 使用 Apache Batik 调整 svg 文件大小时出现内存不足

我已经使用以下代码生成了 svg 文件,

现在,我想将此图像画布的尺寸重新调整为 18,000 * 18000,因为我想将包含的图像重新调整为这个大小,但是每当我尝试以下代码时(仅部分代码)

程序抛出内存不足异常,

我应该怎么做才能将尺寸调整为指定的大尺寸,是否有任何解决方法,如平铺或分割图像。

我对蜡染很陌生,所以请帮助我

0 投票
1 回答
1635 浏览

java - 使用 apache batik 加载、更新和转码 svg 文档时出现奇怪的 CSS 异常

我正在通过以下代码行将 svg 文件加载到我的应用程序中

该文档是之前使用 SVG 生成器生成的,可以在所有 SVG 浏览器中查看,并且不包含任何错误。

现在我正在更新文档

// 在这里对画布和图像本身进行高度/宽度计算 Dimension d = calculateImageSize(true, true);

以下是 updateCanvas 实现

公共无效更新画布(){

现在,当我尝试使用以下方法保存此更新的文档时

public void savePngImage(String pngFile, boolean is400DPI) 抛出 IOException {

每次运行,程序都会抛出随机异常,

* * CSSEngine:异常 property.syntax.error:org.w3c.dom.DOMException:“o”标识符不是“shape-rendering”属性的有效值。

属性值:自动

* CSSEngine:异常 property.syntax.error:org.w3c.dom.DOMException:“”标识符不是“shape-rendering”属性的有效值。

属性值:自动

异常:org.w3c.dom.DOMException org.w3c.dom.DOMException:“”标识符不是“形状渲染”属性的有效值。在 org.apache.batik.css.engine.value.AbstractValueFactory.createInvalidIdentifierDOMException(AbstractValueFactory.java:50) 在 org.apache.batik.css.engine.value.IdentifierManager.createValue(IdentifierManager.java:48) 在 org.apache .batik.css.engine.CSSEngine$1.property(CSSEngine.java:744) 在 org.apache.batik.css.engine.CSSEngine.getCascadedStyleMap(CSSEngine.java:768) 在 org.apache.batik.css.engine。 CSSEngine.getComputedStyle(CSSEngine.java:876) at org.apache.batik.bridge.CSSUtilities.getComputedStyle(CSSUtilities.java:82) at org.apache.batik.bridge.CSSUtilities.convertVisibility(CSSUtilities.java:579) at org .apache.batik.bridge。

*CSSEngine: exception.... org.w3c.dom.DOMException: file:/F:/workspace/MonoGeneiousShoe/src/svg/72DPI/Style-5/Left_Style-5.svg: 属性“shape-rendering”代表一个无效的 CSS 值(“自动”)。原始消息:“”标识符不是“形状渲染”属性的有效值。在 org.apache.batik.css.engine.CSSEngine.getCascadedStyleMap(CSSEngine.java:784) 在 org.apache.batik.css.engine.CSSEngine.getComputedStyle(CSSEngine.java:876) 在 org.apache.batik.bridge .CSSUtilities.getComputedStyle(CSSUtilities.java:82) 在 org.apache.batik.bridge.CSSUtilities.convertVisibility(CSSUtilities.java:579) 在 org.apache.batik.bridge.SVGSVGElementBridge.createGraphicsNode(SVGSVGElementBridge.java:142) 在org.apache.batik.bridge.GVTBuilder.build(GVTBuilder.java:

异常:org.w3c.dom.DOMException org.w3c.dom.DOMException:“o”标识符不是“shape-rendering”属性的有效值。在 org.apache.batik.css.engine.value.AbstractValueFactory.createInvalidIdentifierDOMException(AbstractValueFactory.java:50) 在 org.apache.batik.css.engine.value.IdentifierManager.createValue(IdentifierManager.java:48) 在 org.apache .batik.css.engine.CSSEngine$1.property(CSSEngine.java:744) 在 org.apache.batik.css.engine.CSSEngine.getCascadedStyleMap(CSSEngine.java:768) 在 org.apache.batik.css.engine。 CSSEngine.getComputedStyle(CSSEngine.java:876) at org.apache.batik.bridge.CSSUtilities.getComputedStyle(CSSUtilities.java:82) at org.apache.batik.bridge.CSSUtilities.convertVisibility(CSSUtilities.java:579) at org .apache.batik.bridge。SVGSVGElementBridge.createGraphicsNode(SVGSVGElementBridge.java:142) 在 org.apache.batik.bridge.GVTBuilder.build(GVTBuilder.java:76) 在 org.apache.batik.swing.svg.GVTTreeBuilder.run(GVTTreeBuilder.java:96)错误:null 封闭异常:file:/F:/workspace/MonoGeneiousShoe/src/svg/72DPI/Style-5/Left_Style-5.svg:属性“shape-rendering”表示无效的 CSS 值(“auto”)。原始消息:“”标识符不是“形状渲染”属性的有效值。svg:属性“shape-rendering”表示无效的 CSS 值(“auto”)。原始消息:“”标识符不是“形状渲染”属性的有效值。svg:属性“shape-rendering”表示无效的 CSS 值(“auto”)。原始消息:“”标识符不是“形状渲染”属性的有效值。

*CSSEngine: exception.... org.w3c.dom.DOMException: file:/F:/workspace/MonoGeneiousShoe/src/svg/72DPI/Style-5/Left_Style-5.svg: 属性“shape-rendering”代表一个无效的 CSS 值(“自动”)。原始消息:“o”标识符不是“shape-rendering”属性的有效值。在 org.apache.batik.css.engine.CSSEngine.getCascadedStyleMap(CSSEngine.java:784) 在 org.apache.batik.css.engine.CSSEngine.getComputedStyle(CSSEngine.java:876) 在 org.apache.batik.bridge .CSSUtilities.getComputedStyle(CSSUtilities.java:82) 在 org.apache.batik.bridge.CSSUtilities.convertVisibility(CSSUtilities.java:579) 在 org.apache.batik.bridge.SVGSVGElementBridge.createGraphicsNode(SVGSVGElementBridge.java:142) 在org.apache.batik.bridge.GVTBuilder.build(GVTBuilder.java:76) 在 org.apache.batik.swing.svg.GVTTreeBuilder.run(GVTTreeBuilder.java:96) 错误:空封闭异常:文件:/F:/workspace/MonoGeneiousShoe/src/svg/72DPI/Style-5/Left_Style -5.svg:属性“shape-rendering”表示无效的 CSS 值(“auto”)。原始消息:“o”标识符不是“shape-rendering”属性的有效值。

* CSSEngine:异常 property.syntax.error:org.w3c.dom.DOMException:“lormal”标识符不是“font-style”属性的有效值。

属性值:正常

异常:org.w3c.dom.DOMException org.w3c.dom.DOMException:“lormal”标识符不是“font-style”属性的有效值。在 org.apache.batik.css.engine.value.AbstractValueFactory.createInvalidIdentifierDOMException(AbstractValueFactory.java:50) 在 org.apache.batik.css.engine.value.IdentifierManager.createValue(IdentifierManager.java:48) 在 org.apache .batik.css.engine.CSSEngine$1.property(CSSEngine.java:744) 在 org.apache.batik.css.engine.CSSEngine.getCascadedStyleMap(CSSEngine.java:768) 在 org.apache.batik.css.engine。 CSSEngine.getComputedStyle(CSSEngine.java:876) at org.apache.batik.bridge.CSSUtilities.getComputedStyle(CSSUtilities.java:82) at org.apache.batik.bridge.CSSUtilities.convertVisibility(CSSUtilities.java:579) at org .apache.batik.bridge。

*CSSEngine: exception.... org.w3c.dom.DOMException: file:/F:/workspace/MonoGeneiousShoe/src/svg/72DPI/Style-5/Left_Style-5.svg: 属性“font-style”代表一个无效的 CSS 值(“正常”)。原始消息:“lormal”标识符不是“font-style”属性的有效值。在 org.apache.batik.css.engine.CSSEngine.getCascadedStyleMap(CSSEngine.java:784) 在 org.apache.batik.css.engine.CSSEngine.getComputedStyle(CSSEngine.java:876) 在 org.apache.batik.bridge .CSSUtilities.getComputedStyle(CSSUtilities.java:82) 在 org.apache.batik.bridge.CSSUtilities.convertVisibility(CSSUtilities.java:579) 在 org.apache.batik.bridge.SVGSVGElementBridge.createGraphicsNode(SVGSVGElementBridge.java:142) 在org.apache.batik.bridge.GVTBuilder.build(GVTBuilder.java:ShoeComponentPNGCreator.main(ShoeComponentPNGCreator.java:662) ERROR: null Enclosed Exception: file:/F:/workspace/MonoGeneiousShoe/src/svg/72DPI/Style-5/Left_Style-5.svg: 属性“font-style”代表无效的 CSS 值(“正常”)。原始消息:“lormal”标识符不是“font-style”属性的有效值。org.apache.batik.transcoder.XMLAbstractTranscoder.transcode(XMLAbstractTranscoder.java:142) 在 org.apache.batik 的 com.mmg.app.svg.TiledImageTranscoder.transcode(TiledImageTranscoder.java:69) 的 java.lang.NullPointerException。 transcoder.SVGAbstractTranscoder.transcode(SVGAbstractTranscoder.java:156) 在 com.mmg.app.svg.ShoeComponentPNGCreator.savePngImage(ShoeComponentPNGCreator.java:601) 在 com.mmg.app.svg.ShoeComponentPNGCreator。

有时它说 height 是 0 ,有时它说 stroke-width 不是有效的属性等。

我认为这是与 CSS 引擎相关的问题。我在这里做错了什么?

谢谢你米希尔帕雷克

0 投票
1 回答
137 浏览

parameters - 将带参数的 SVG 转换为另一种文件类型?

在我的网站上,我有一个 SVG 图像,它是使用用户选择的表单中的参数生成的。

一切正常,但我正在努力想办法做下一部分。

用户完成后,他们单击一个按钮...我希望此按钮将 SVG 转换为另一种格式(最好是 eps、jpeg 或 png)准备发送给我。

我对如何将其发送给我持开放态度...我想我需要在服务器上生成图像,并编写一个脚本以通过电子邮件向我发送指向它的链接或其他东西...

但我的问题中更重要的部分是我如何首先生成图像?我快速浏览了 Batik 和 ImageMagick,但找不到任何关于在 SVG 中使用参数的信息。

谢谢!

0 投票
1 回答
449 浏览

svg - 如何使用 apache batik 制作交互式 svg?

我的 java 应用程序需要创建带有一些悬停文本和位交互性的 svg 文件。蜡染有这方面的 api 吗?我可以看到犀牛引擎可以与蜡染类捆绑在一起。但我相信它适用于 java 应用程序在自己的窗口中“显示”svg。任何指针?

0 投票
0 回答
429 浏览

svg - 蜡染/犀牛 JavaScript 支持?

只是想在浪费太多时间之前对此进行一次完整性检查 - Batik 在其 SVG 显示和光栅化器中是否真的有可用的 JavaScript 支持?

问题:我有生成 SVG 文件的代码,使用了几千行相当复杂的 JavaScript。这适用于 Firefox、Chrome、Opera、Safari 和 IE9。我花了一个上午试图让 Batik 显示一个示例 SVG 文件(在 Squiggle 中)并将其光栅化为 png/pdf/等。我已经解决了一个问题(我必须将一个文本节点移动到 DOM 中才能splitText开始工作),下一个问题只有几行(nodeValue.trim()在文本节点上不起作用)。

即将放弃并忽略蜡染(v1.7,昨天下载),除非有人对此有一些积极的经验?