I tried this too:
(ns tma-make-thumbnails.make-images
(:import
(java.util UUID)
(javax.imageio ImageIO)
(java.awt.image BufferedImage)
(javax.imageio ImageReader))
(defn get-file-as-image [filename]
{:pre [(= (type filename) java.lang.String)
(fs/exists? filename)
(fs/file? (io/as-file filename))]
:post [(do (pp/pprint %) true)
(= (type %) java.awt.image.BufferedImage)]}
(.read ImageIO (io/as-file filename)))
but that only gives me:
Exception in thread "Thread-1" java.lang.IllegalArgumentException: No
matching method found: read for class java.lang.Class
I don't get why ImageIO is java.lang.Class after I imported it.
On Thursday, February 27, 2014 3:09:53 PM UTC-5, larry google groups wrote:
>
> I have no background with Java so I tend to suffer pain when dealing with
> it. I am trying to create a thumbnail for an image, but my code dies on the
> :post assertion of this function:
>
> (defn get-file-as-image [filename]
> {:pre [(= (type filename) java.lang.String)
> (fs/exists? filename)
> (fs/file? (io/as-file filename))]
> :post [(do (pp/pprint %) true)
> (= (type %) BufferedImage)]}
> (javax.imageio.ImageIO/read (io/as-file filename)))
>
> "fs" refers to:
> https://github.com/Raynes/fs/blob/master/src/me/raynes/fs.clj
>
> The :pre assertions are all apparently true, so the file exists and
> returns as a file when run through (io/as-file).
>
> I looked here for the documentation on javax.imageio.ImageIO/read:
>
>
> http://docs.oracle.com/javase/7/docs/api/javax/imageio/ImageIO.html#read(java.io.File)
>
> It reads:
>
> "Returns a BufferedImage as the result of decoding a supplied File with
> an ImageReader chosen automatically from among those currently
> registered. The File is wrapped in an ImageInputStream. If no registered
> ImageReader claims to be able to read the resulting stream, null is
> returned."
>
> I added the pprint into my :post and it prints nil. So I assume the
> problem is this:
>
> "If no registeredImageReader claims to be able to read the resulting
> stream, null is returned."
>
> What does it mean to register an ImageReader?
>
>
>
>
>
>
>
>
--
You received this message because you are subscribed to the Google
Groups "Clojure" group.
To post to this group, send email to [email protected]
Note that posts from new members are moderated - please be patient with your
first post.
To unsubscribe from this group, send email to
[email protected]
For more options, visit this group at
http://groups.google.com/group/clojure?hl=en
---
You received this message because you are subscribed to the Google Groups
"Clojure" group.
To unsubscribe from this group and stop receiving emails from it, send an email
to [email protected].
For more options, visit https://groups.google.com/groups/opt_out.