问题标签 [freehep]

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 回答
936 浏览

java - 使用 FreeHep 库的小程序中的神秘 NullPointerException

我有一个使用 JUNG2 可视化大图的小程序。不久前,我设法添加了一个导出功能,允许用户将图形导出为基于矢量的图像,这次使用的是 FreeHEP 库。一切都很顺利(我什至在出版物中使用了 PDF 导出)。

现在,当我尝试导出图表时,小程序似乎崩溃了。深入研究 Java 控制台,我发现这是由于库深处存在 NPE。以下是堆栈跟踪的相关部分:


我一直在研究 FreeHEP 库(托管在 Grep Code)的源代码,堆栈跟踪中的最后一行(最顶层)指向以开头的行UserProperties

据我所知,这应该意味着GIFGraphics2D结果是null- 为什么,我不明白。我已经仔细检查了我的构建文件以确保必要的库已经到位,并且我的构建文件和我使用的代码ExportDialog(请参阅问题正文中的第一个链接)在一年多的时间里都没有改变。那么这里的问题可能是什么?

0 投票
1 回答
675 浏览

java - 将 jfreechart 导出为 pptx 作为 EMF 图像 - 线条渲染不正确

我正在尝试使用 JFreechart-FreeHEP 矢量图形-apache poi XSLF 将时间序列 XY 折线图导出到 pptx 文档中。我遵循的逻辑如下

  • 使用 jfreechart 创建图表
  • 使用 freehep api 将图表导出为 emf 图像
  • 使用 apache poi XSLF lib 将此图像添加到 pptx 幻灯片。

问题在于在 EMF 图像中呈现线条的方式。请看下图。渲染的线条并不完全笔直,它们有点曲折。水平线呈现直线,但垂直线不呈现为直线,它们就像 -> /\/\/\/\/\/\/\/\/\ 。感谢任何关于将线条呈现为直线的建议。

此问题仅适用于 EMF 格式,我尝试了相同的 PNG、JPG 格式,并且线条呈现为直线。我使用 EMF 的原因是,在导出为 pptx 后,其他图片格式(JPEG/PNG/TIF/BMP)似乎失去了它们的质量——清晰度和亮度。

EMF 图像的屏幕截图

我使用的代码如下

0 投票
0 回答
145 浏览

java - Netbeans 和 Maven - 项目编译但在运行时找不到库

我正在尝试使用基于 Batik 构建的开源工具,当我尝试构建它时遇到了其中一个依赖项的问题。很确定这与类路径和库位置有关,但我不知道发生了什么。

所以我正在使用的项目 (SVG2EMF) 使用的是 FreeHep EMF 驱动程序,而后者又使用了 FreeHep GraphicsIO 项目。因为这三个在我的系统(Ubuntu 14.04)上没有很好地播放,所以我已经下载了所有三个的源代码来尝试解决问题。

一切都正确构建,我可以成功单步执行代码,但是 SVG2EMF 上的单元测试在 EMF 驱动程序从 GraphicsIO 调用某些内容时失败 - 相关代码的相关部分在这里:

这会在该调用上引发NoClassDefFoundError特别相关的。当我在调试器中单步执行时,即使应用程序非常愉快地使用这些引用构建,监视的价值也是如此。任何引用的行为方式完全相同。org.freehep.graphicsio.ImageGraphics2DwriteImageImageConstants.RAWUnknown type "org.freehep.graphicsio.ImageConstants"ImageGraphics2D

SVG2EMF 中的依赖项pom.xml如下所示:

FreeHEP EMF 驱动程序的依赖关系如下所示:

任何人都可以阐明这里实际发生的事情或我需要做什么才能使其正常工作吗?

编辑:我想我已经找到了问题出在 StackTrace 的地方,我看到一个“由:ExceptionInInitializerError 引起” - 从那时起,这似乎将该类标记为不可访问。所以依赖确实存在,但是初始化程序抛出了一个异常,导致 JRE 将其标记为不可用。

进一步编辑:为了解决这些问题,知道该项目现在托管在 Github上会很有用(尽管在 freehep.org 网站上的任何地方都没有提及),因此您可以从那里找到更新的版本。就我而言,直接使用最新版本解决了这个问题。

0 投票
0 回答
2965 浏览

java - 在java中将EMF+(不是WMF/EMF)文件转换为PNG

问题:

我有一张 Enhanced Metafile Fromat Plus Extension EMF+的图片。我需要使用 java将此文件转换为PNG图像文件。

尝试解决java中的问题:

  1. Apache Batik不支持EMF+格式(Batik 仅支持WMF格式)。

  2. FreeHEP也不支持EMF+。它可以将EMF转换为SVG,然后将SVG转换为PNG。我希望它可以帮助:

    此语句必须将EMF转换为SVG,但给出了一个例外:

    org.freehep.graphicsio.exportchooser.AbstractExportFileType.exportToFile(AbstractExportFileType.java:248) 的 org.freehep.graphicsio.exportchooser.AbstractExportFileType.getGraphics(AbstractExportFileType.java:261) 的 java.lang.NullPointerException。 exportchooser.AbstractExportFileType.exportToFile(AbstractExportFileType.java:282) at org.freehep.graphicsio.emf.EMFConverter.export(EMFConverter.java:81) at org.freehep.graphicsio.emf.EMF2SVG.main(EMF2SVG.java:27)

  3. 我使用了这里的代码:

    此代码创建SVG文件,但该文件没有图像。

0 投票
1 回答
51 浏览

linux - “freehep-graphics2d”的 Fedora 等效软件包名称是什么?

我一直在尝试从 Source 安装 Scilab。当我跑步时

我得到这个错误

因此,我尝试在 fedora 23 中安装它,但找不到该软件包。任何帮助,将不胜感激。