Skip to content

weavejester/crumpets

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

31 Commits
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Crumpets

Build Status

A Clojure library for representing and manipulating color. It's currently usable, but has limited functionality.

Installation

Add the following dependency to your project.clj file:

[crumpets "0.1.4"]

Usage

Crumpets provides types for holding color data:

(require '[crumpets.core :as color])

(def color-red
  (color/rgb 255 0 0))

Colors can also be defined through the #color/rgb reader literal, which supports a variety of formats:

#color/rgb "#ff0000"
#color/rgb [255 0 0]
#color/rgb [1.0 0.0 0.0]

The color data can be representing as a hex string, a vector of integers between 0 and 255, or a vector of floats between 0.0 and 1.0.

Alpha channels can be encoded with the #color/rgba reader literal:

#color/rgba "#ff000099"
#color/rgba [255 0 0 153]

Colors implement the ILookup interface, so you can pull out their values by accessing the :red, :green, :blue and :alpha keys:

(:red color-red)       ;; => 255
(get color-red :blue)  ;; => 0

There's also functions for converting color data to different formats, such as the integer ARGB format that can be used in BufferedImage objects:

(int-argb color-red)  ;; => 0xffff0000

Documentation

License

Copyright © 2013 James Reeves

Distributed under the Eclipse Public License either version 1.0 or (at your option) any later version.

About

Clojure library for dealing with color

Resources

Stars

Watchers

Forks

Packages

No packages published