我想浏览一个目录并挑选出所有图像,然后根据它们的尺寸执行一些操作。有哪些库可供我执行此操作?
我正在 Clojure 中工作,但 JVM 上可用的任何东西都是公平的。
提前致谢!
(with-open [r (java.io.FileInputStream. "test.jpeg")]
(let [image (javax.imageio.ImageIO/read r)]
[(.getWidth image) (.getHeight image)]))
您可以使用with-open
让流自动关闭。
下面是一个用于迭代目录中一定数量的文件的示例。它假设目录中的所有文件都是图像。示例目录仅包含您的 stackoverflow 头像。
(defn files-in-dir [dir]
(filter #(not (.isDirectory %))
(.listFiles (java.io.File. dir))))
(defn figure-out-height-width
[files]
(map (fn [file]
(with-open [r (java.io.FileInputStream. file)]
(let [img (javax.imageio.ImageIO/read r)]
[file (.getWidth img) (.getHeight img)])))
files))
user>(figure-out-height-width (files-in-dir "/home/jmccrary/Downloads/pics/"))
([#<File /home/jmccrary/Downloads/pics/test.jpeg> 32 32])
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)