java – 在Clojure中制作缩略图

weixin_38083228 2019-09-12 10:29:43
我在终端中运行以下命令来运行存储在以下文件中的代码: java -cp clojure.jar clojure.main thumbmaker.clj thumbmaker.clj的内容是(此代码已在多个地方引用): (import javax.imageio.ImageIO) (import java.awt.image.BufferedImage) (use '[clojure.java.io :only [as-file input-stream output-stream] :as io]) (defn make-thumbnail-generic [input new-filename width] (let [img (javax.imageio.ImageIO/read input) imgtype (java.awt.image.BufferedImage/TYPE_INT_ARGB) width (min (.getWidth img) width) height (* (/ width (.getWidth img)) (.getHeight img)) simg (java.awt.image.BufferedImage. width height imgtype) g (.createGraphics simg)] (.drawImage g img 0 0 width height nil) (.dispose g) (defn make-thumbnail-from-file [filename new-filename width] (make-thumbnail-generic filename new-filename width)) (make-thumbnail-from-file "thumb.png" "test.png" 100) 我收到以下错误: Exception in thread “main” java.lang.IllegalArgumentException: No matching method found: read (thumbmaker.clj:0) 我已经独立检查了REPL中的import和use语句,它们似乎被接受了很好. 我检查了ImageIO的Java参考,并且读取函数就在那里. 我已经完成了Java-Interop的写法,这似乎是非常标准的方式,所以我无法弄清楚为什么读取不起作用.
...全文
4 1 打赏 收藏 转发到动态 举报
写回复
用AI写文章
1 条回复
切换为时间正序
请发表友善的回复…
发表回复
weixin_38091120 2019-09-12
  • 打赏
  • 举报
回复
见http://docs.oracle.com/javase/1.5.0/docs/api/javax/imageio/ImageIO.html javax.imageio.ImageIO / read需要URL,File,InputStream或ImageInputStream.不是字符串. 执行(javax.imageio.ImageIO / read(as-file input))解决了这个问题.

433

社区成员

发帖
与我相关
我的任务
社区描述
其他技术讨论专区
其他 技术论坛(原bbs)
社区管理员
  • 其他技术讨论专区社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧