我試圖使用Scalr java的圖像縮放庫從Clojure的:當我將其導入,並嘗試使用它,它失敗Clojure的:調用帶有可變ARGS一個Java類的靜態方法
[org.imgscalr/imgscalr-lib "4.2"]
,因爲args來可變數量的每個方法都需要:
(import 'org.imgscalr.Scalr)
(def image (*acquire BufferedImage instance*))
(Scalr/resize image 200)
這給了我這個錯誤:
No matching method: resize
這是因爲(我已經想通了)調整大小作爲其最後一個參數可變數量的BufferedImageOps。於是,我嘗試在Java數組這些經過:
(import 'java.awt.image.BufferedImageOp)
(Scalr/resize image 200 (into-array BufferedImageOp []))
但這種失敗
No message.
[Thrown class java.lang.ClassCastException]
我在做什麼錯在這裏?謝謝!
謝謝!圖像正在返回地圖中,我不得不去(圖像:圖像)。我的錯。 – prismofeverything 2012-04-23 21:27:03
沒問題。你應該注意到對於地圖''(:關鍵字地圖)''是慣用的而不是''(地圖:關鍵字)''。這裏討論:http://stackoverflow.com/questions/7034803/idiomatic-clojure-map-lookup-by-keyword – sw1nn 2012-04-23 21:31:19