Opened 13 years ago
Last modified 13 years ago
#22 closed enhancement
Represent bitmaps as arrays of tuples — at Initial Version
Reported by: | Ben Lippmeier | Owned by: | |
---|---|---|---|
Priority: | normal | Milestone: | |
Component: | io | Version: | 2.0.0.3 |
Keywords: | Cc: |
Description
Representing bitmaps as a 3D array isn't ideal because there's no way to perform a map over all the pixels.
With this representation
Array DIM3 Word8
Suppose we want to convert the image to greyscale in a single operation. We'd really need a function like:
map1 :: (Array DIM1 a -> Array DIM1 a) -> Array DIM3 a -> Array DIM3 a
However, that doesn't work because we can't guarantee that the worker function always returns an array of the same length as the original. Because of this we can't guarantee that the result is rectangular.
If instead we had represented bitmaps as
Array DIM2 (Word8, Word8, Word8
Then we could use the original map function and there'd be no problem.