[Haskell-cafe] Mini-announce: AC-Color 1.1.3
Andrew Coppin
andrewcoppin at btinternet.com
Mon Mar 8 16:09:10 EST 2010
I just uploaded a new version of the ever-unpopular AC-Colour package.
(Yes, there's a country where it's spelled that way.)
What it already did: Provides a simple strict unboxed RGB colour type,
with arithmetic. The three channels can be either Double or Word8. (And
there's some low-level hackery to convert between the two. For some
reason just using "floor" is awesomely slow, but talking to GHC.Prim
directly is much, much faster... which unfortunately makes this package
far less portable than it should be!)
What it does now: Colour maps. Give it some control points, and it'll
(linearly) interpolate between them to give you a function Double ->
Colour. (I haven't seen anything else on Hackage that will do this
out-of-the-box. I've seen linear blends between two colours, but not
fully automatic piece-wise linear maps like this.)
Now obviously none of this is terribly earth-shattering. But I find
myself needing this often enough that it's annoying to have to spend 10
minutes coding and debugging it every single time I want it. Maybe
somebody else will find a use for it too. I paid special attention to
trying to make the colour maps as general as possible. (E.g., the
parameter range isn't limited to [0..1], it's arbitrary. Going off the
end of the range produces sensible results. You can make the map loop.
And so on.)
Maybe if I'm feeling ambitious I'll try 2D colour maps. (Of course, the
problem there is that your control points need not be coplanar - or even
form a regular grid!)
More information about the Haskell-Cafe
mailing list