clojure - 无法从 BufferedImage 创建 Graphics2d 对象
问题描述
我有一个对象BufferedImage
,由函数创建。现在我想在这张图片上画一些线条,所以一开始我创建了这样的对象:ByteArrayInputStream
(ImageIO/read)
Graphics2d
(defn g2d (.createGraphics image))
这里发生了奇怪的事情,因为我的函数在这一步中冻结了。它永远不会返回,永远不会抛出Exception
任何东西。我在服务器上运行这个程序:
openjdk version "1.8.0_222"
OpenJDK Runtime Environment (build 1.8.0_222-8u222-b10-1ubuntu1~18.04.1-b10)
OpenJDK 64-Bit Server VM (build 25.222-b10, mixed mode)
我怎样才能找到这种冻结的原因?我还检查了这个 Java 版本是否像这样无头:
(java.awt.GraphicsEnvironment/isHeadless)
但是那个方法返回了false
。
解决方案
实际上,我必须编写一个单独的 Java 程序才能查看问题所在。在看到 Java 异常后,我设法通过取消设置 Linux 变量 DISPLAY: 来解决这个问题unset DISPLAY
。
推荐阅读
- sed - sed 用于查找和打印多行块
- javascript - 自动更新基于反应的 Web 应用程序的最新版本的问题
- java - spring boot 中的 log4j2 仅打印 org.hibernate 日志
- c# - 使用自定义路由令牌和属性路由时如何避免重复?
- asp.net-core - 为什么 netcore 3 与 InProcess ANCM 有这么多问题?
- laravel - laravel vue pusher - 在私人频道上广播不起作用
- oauth - 批量应用的 Oauth
- python - matplotlib wxPython 后端在大图像堆栈处理后崩溃
- python-3.x - 需要基本 TensorFlow 中的代码说明
- javascript - 如何基于多个属性聚合和合并对象?