# HG changeset patch # User Robert McIntyre # Date 1339652835 18000 # Node ID 4703b74f1fb1a8840758455f1cc87cd6fbf49452 # Parent e9a63daf680a134e061713ca13763d63ee86cab7 saving progress diff -r e9a63daf680a -r 4703b74f1fb1 clojure/com/aurellem/run/image.clj --- a/clojure/com/aurellem/run/image.clj Wed Jun 13 01:10:00 2012 -0500 +++ b/clojure/com/aurellem/run/image.clj Thu Jun 14 00:47:15 2012 -0500 @@ -304,10 +304,43 @@ (for [x (range 8) y (range 8)] (vga-rgb->gb-rgb (rgb->triplet - (.getRGB image (+ x (rem (* tile 8 8) 160)) - (+ y (int (/ (* tile 8 8) 144))))))))) + (.getRGB image (+ x (* 8 (rem tile 20))) + (+ y (* 8 (int (/ tile 20)))))))))) + +(defn tile->palette [tile] + (sort (set tile))) + +(require 'clojure.set) + +(defn absorb-contract [objs] + (reduce + (fn [accepted new-element] + (if (some + (fn [obj] + (clojure.set/subset? (set new-element) (set obj))) + accepted) + accepted + (conj accepted new-element))) + [] + (sort-by (comp - count) objs))) + +(defn absorb-combine-4 [objs] + ) + +(defn palettes [^BufferedImage image] + (let [palettes (map tile->palette (gb-tiles image)) + unique-palettes (absorb-contract (set palettes))] + unique-palettes)) + + + + + + + + (defn display-image-kernel [^BufferedImage image]