netpbm-1.0.3: Loading PBM, PGM, PPM image files

Safe HaskellNone
LanguageHaskell2010

Graphics.Netpbm

Description

Parsing the netpbm image formates (PBM, PGM and PPM, both ASCII and binary) from ByteStrings.

All netpbm image formats are implemented (P1 - P6).

To parse one of these formats, use parsePPM.

See also: http://www.imagemagick.org/Usage/formats/#netpbm

Synopsis

Documentation

data PPMType #

The netpbm image type of an image.

Constructors

P1

ASCII bitmap

P2

ASCII greymap

P3

ASCII pixmap (color)

P4

binary bitmap

P5

binary greymap

P6

binary pixmap (color)

Instances
Enum PPMType # 
Instance details

Defined in Graphics.Netpbm

Eq PPMType # 
Instance details

Defined in Graphics.Netpbm

Methods

(==) :: PPMType -> PPMType -> Bool #

(/=) :: PPMType -> PPMType -> Bool #

Ord PPMType # 
Instance details

Defined in Graphics.Netpbm

Show PPMType # 
Instance details

Defined in Graphics.Netpbm

data PPM #

A PPM file with type, dimensions, and image data.

Constructors

PPM 
Instances
Show PPM # 
Instance details

Defined in Graphics.Netpbm

Methods

showsPrec :: Int -> PPM -> ShowS #

show :: PPM -> String #

showList :: [PPM] -> ShowS #

data PpmPixelRGB8 #

A pixel containing three 8-bit color components, RGB.

Constructors

PpmPixelRGB8 !Word8 !Word8 !Word8 
Instances
Eq PpmPixelRGB8 # 
Instance details

Defined in Graphics.Netpbm

Show PpmPixelRGB8 # 
Instance details

Defined in Graphics.Netpbm

Storable PpmPixelRGB8 # 
Instance details

Defined in Graphics.Netpbm

Unbox PpmPixelRGB8 # 
Instance details

Defined in Graphics.Netpbm

Vector Vector PpmPixelRGB8 # 
Instance details

Defined in Graphics.Netpbm

MVector MVector PpmPixelRGB8 # 
Instance details

Defined in Graphics.Netpbm

newtype Vector PpmPixelRGB8 # 
Instance details

Defined in Graphics.Netpbm

newtype MVector s PpmPixelRGB8 # 
Instance details

Defined in Graphics.Netpbm

data PpmPixelRGB16 #

A pixel containing three 16-bit color components, RGB.

Instances
Eq PpmPixelRGB16 # 
Instance details

Defined in Graphics.Netpbm

Show PpmPixelRGB16 # 
Instance details

Defined in Graphics.Netpbm

Storable PpmPixelRGB16 # 
Instance details

Defined in Graphics.Netpbm

Unbox PpmPixelRGB16 # 
Instance details

Defined in Graphics.Netpbm

Vector Vector PpmPixelRGB16 # 
Instance details

Defined in Graphics.Netpbm

MVector MVector PpmPixelRGB16 # 
Instance details

Defined in Graphics.Netpbm

newtype Vector PpmPixelRGB16 # 
Instance details

Defined in Graphics.Netpbm

newtype MVector s PpmPixelRGB16 # 
Instance details

Defined in Graphics.Netpbm

newtype PbmPixel #

A pixel containing black or white.

Constructors

PbmPixel Bool 
Instances
Eq PbmPixel # 
Instance details

Defined in Graphics.Netpbm

Show PbmPixel # 
Instance details

Defined in Graphics.Netpbm

Storable PbmPixel # 
Instance details

Defined in Graphics.Netpbm

Unbox PbmPixel # 
Instance details

Defined in Graphics.Netpbm

Vector Vector PbmPixel # 
Instance details

Defined in Graphics.Netpbm

MVector MVector PbmPixel # 
Instance details

Defined in Graphics.Netpbm

newtype Vector PbmPixel # 
Instance details

Defined in Graphics.Netpbm

newtype MVector s PbmPixel # 
Instance details

Defined in Graphics.Netpbm

data PgmPixel8 #

A pixel containing an 8-bit greyscale value.

Constructors

PgmPixel8 !Word8 
Instances
Eq PgmPixel8 # 
Instance details

Defined in Graphics.Netpbm

Show PgmPixel8 # 
Instance details

Defined in Graphics.Netpbm

Storable PgmPixel8 # 
Instance details

Defined in Graphics.Netpbm

Unbox PgmPixel8 # 
Instance details

Defined in Graphics.Netpbm

Vector Vector PgmPixel8 # 
Instance details

Defined in Graphics.Netpbm

MVector MVector PgmPixel8 # 
Instance details

Defined in Graphics.Netpbm

newtype Vector PgmPixel8 # 
Instance details

Defined in Graphics.Netpbm

newtype MVector s PgmPixel8 # 
Instance details

Defined in Graphics.Netpbm

data PgmPixel16 #

A pixel containing a 16-bit greyscale value.

Constructors

PgmPixel16 !Word16 
Instances
Eq PgmPixel16 # 
Instance details

Defined in Graphics.Netpbm

Show PgmPixel16 # 
Instance details

Defined in Graphics.Netpbm

Storable PgmPixel16 # 
Instance details

Defined in Graphics.Netpbm

Unbox PgmPixel16 # 
Instance details

Defined in Graphics.Netpbm

Vector Vector PgmPixel16 # 
Instance details

Defined in Graphics.Netpbm

MVector MVector PgmPixel16 # 
Instance details

Defined in Graphics.Netpbm

newtype Vector PgmPixel16 # 
Instance details

Defined in Graphics.Netpbm

newtype MVector s PgmPixel16 # 
Instance details

Defined in Graphics.Netpbm

data PPMHeader #

Meta information about the image: The exact PPM format and dimensions.

Constructors

PPMHeader 

Fields

Instances
Eq PPMHeader # 
Instance details

Defined in Graphics.Netpbm

Show PPMHeader # 
Instance details

Defined in Graphics.Netpbm

data PpmPixelData #

Image data, either 8 or 16 bits. TODO rename to PNM

Constructors

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] #

Converts a vector of pixels to a list for convenience.

pixelDataToIntList :: PpmPixelData -> [Int] #

Converts pixel data to a list of positive Ints.

How big they can become depends on the bit depth of the pixel data.

parsePPM :: ByteString -> PpmParseResult #

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) #

The result of a PPM parse.

See parsePPM.