Safe Haskell | None |
---|---|
Language | Haskell2010 |
Parsing the netpbm image formates (PBM, PGM and PPM, both ASCII and binary) from ByteString
s.
All netpbm image formats are implemented (P1 - P6).
To parse one of these formats, use parsePPM
.
Synopsis
- data PPMType
- data PPM = PPM {}
- data PpmPixelRGB8 = PpmPixelRGB8 !Word8 !Word8 !Word8
- data PpmPixelRGB16 = PpmPixelRGB16 !Word16 !Word16 !Word16
- newtype PbmPixel = PbmPixel Bool
- data PgmPixel8 = PgmPixel8 !Word8
- data PgmPixel16 = PgmPixel16 !Word16
- data PPMHeader = PPMHeader {}
- data PpmPixelData
- pixelVectorToList :: Storable a => Vector a -> [a]
- pixelDataToIntList :: PpmPixelData -> [Int]
- parsePPM :: ByteString -> PpmParseResult
- type PpmParseResult = Either String ([PPM], Maybe ByteString)
Documentation
The netpbm image type of an image.
P1 | ASCII bitmap |
P2 | ASCII greymap |
P3 | ASCII pixmap (color) |
P4 | binary bitmap |
P5 | binary greymap |
P6 | binary pixmap (color) |
Instances
Enum PPMType Source # | |
Eq PPMType Source # | |
Ord PPMType Source # | |
Show PPMType Source # | |
A PPM file with type, dimensions, and image data.
data PpmPixelRGB8 Source #
A pixel containing three 8-bit color components, RGB.
Instances
data PpmPixelRGB16 Source #
A pixel containing three 16-bit color components, RGB.
Instances
A pixel containing black or white.
Instances
A pixel containing an 8-bit greyscale value.
Instances
data PgmPixel16 Source #
A pixel containing a 16-bit greyscale value.
Instances
Meta information about the image: The exact PPM format and dimensions.
data PpmPixelData Source #
Image data, either 8 or 16 bits. TODO rename to PNM
PpmPixelDataRGB8 (Vector PpmPixelRGB8) | For 8-bit PPMs. |
PpmPixelDataRGB16 (Vector PpmPixelRGB16) | For 16-bit PPMs. |
PbmPixelData (Vector PbmPixel) | For 1-bit PBMs. |
PgmPixelData8 (Vector PgmPixel8) | For 8-bit PGMs. |
PgmPixelData16 (Vector PgmPixel16) | For 16-bit PGMs. |
pixelVectorToList :: Storable a => Vector a -> [a] Source #
Converts a vector of pixels to a list for convenience.
pixelDataToIntList :: PpmPixelData -> [Int] Source #
Converts pixel data to a list of positive Int
s.
How big they can become depends on the bit depth of the pixel data.
parsePPM :: ByteString -> PpmParseResult Source #
Parses a PPM file from the given ByteString
.
On failure, Left error
contains the error message.
On success, Right (images, Maybe rest)
contains the parsed images
and potentially an unparsable rest input.
type PpmParseResult = Either String ([PPM], Maybe ByteString) Source #
The result of a PPM parse.
See parsePPM
.