Chalkboard

Chalkboard is a Haskell hosted Domain Specific Language (DSL) for image generation and processing. The basic structure is a chalk board, a two-dimensional canvas of values, typically colors. ChalkBoard provides the usual image processing functions (masking, overlaying, function mapping, cropping, warping, rotating) as well as a few more unusual ones. Images can be imported into Chalkboard, as first-class color chalk boards. ChalkBoard also provides combinators for drawing shapes directly on boards. The system is based loosely on Pan, but the principal image type is abstract.

Examples

... 
$ fmap (\ x -> if x then green else white) 
$ rotate 0.05 
$ scale 50 
$ checker 
... 
$ stack 
$ [ fmap (choose (withAlpha 0.8 col) (transparent white))
     $ functionline (\ x -> (x * 400,t + 80 * x * sin (x * t))) 3 count
  | (col,t) <- zip [red,green,blue] [16,18,20]
  ] ++ 
  [ fmap (choose (withAlpha 0.8 col) (transparent white))
     $ functionline (\ x -> (400 - x * 400,t - 80 * x * sin (x * t))) 3 count
  | (col,t) <- zip [cyan,purple,yellow] [15,17,20]
  ] ++ 
  [ pure (alpha white) ]

Animations

Other Examples

Downloading

The best place to get Chalkboard from is hackage.
	http://hackage.haskell.org/cgi-bin/hackage-scripts/package/chalkboard
or
	cabal install chalkboard
The latest version is chalkboard-0.02.