| Copyright | (c) Alexey Kuleshevich 2018 |
|---|---|
| License | BSD3 |
| Maintainer | Alexey Kuleshevich <lehins@yandex.ru> |
| Stability | experimental |
| Portability | non-portable |
| Safe Haskell | None |
| Language | Haskell2010 |
Data.Massiv.Array.IO
Contents
Description
- readArray :: Readable f arr => f -> ReadOptions f -> FilePath -> IO arr
- readImage :: (Source S Ix2 (Pixel cs e), ColorSpace cs e) => FilePath -> IO (Image S cs e)
- readImageAuto :: (Mutable r Ix2 (Pixel cs e), ColorSpace cs e) => FilePath -> IO (Image r cs e)
- writeArray :: Writable f arr => f -> WriteOptions f -> FilePath -> arr -> IO ()
- writeImage :: (Source r Ix2 (Pixel cs e), ColorSpace cs e) => FilePath -> Image r cs e -> IO ()
- writeImageAuto :: (Source r Ix2 (Pixel cs e), ColorSpace cs e, ToYA cs e, ToRGBA cs e, ToYCbCr cs e, ToCMYK cs e) => FilePath -> Image r cs e -> IO ()
- data ExternalViewer = ExternalViewer FilePath [String] Int
- displayImage :: Writable (Auto TIF) (Image r cs e) => Image r cs e -> IO ()
- displayImageUsing :: Writable (Auto TIF) (Image r cs e) => ExternalViewer -> Bool -> Image r cs e -> IO ()
- displayImageFile :: ExternalViewer -> FilePath -> IO ()
- defaultViewer :: ExternalViewer
- eogViewer :: ExternalViewer
- gpicviewViewer :: ExternalViewer
- fehViewer :: ExternalViewer
- gimpViewer :: ExternalViewer
- class (Default (ReadOptions f), Default (WriteOptions f), Show f) => FileFormat f where
- type ReadOptions f
- type WriteOptions f
- class Readable f arr where
- class Writable f arr where
- newtype ConvertError = ConvertError String
- newtype EncodeError = EncodeError String
- newtype DecodeError = DecodeError String
- newtype Sequence f = Sequence f
- newtype Auto f = Auto f
- type Image r cs e = Array r Ix2 (Pixel cs e)
- defaultReadOptions :: FileFormat f => f -> ReadOptions f
- defaultWriteOptions :: FileFormat f => f -> WriteOptions f
- toProxy :: a -> Proxy a
- fromMaybeEncode :: forall f r cs e b. (ColorSpace cs e, FileFormat f, Typeable r) => f -> Proxy (Image r cs e) -> Maybe b -> b
- fromEitherDecode :: forall r cs e a f. (ColorSpace cs e, FileFormat f, Typeable r) => f -> (a -> String) -> (a -> Maybe (Image r cs e)) -> Either String a -> Image r cs e
- convertEither :: forall r cs e a f. (ColorSpace cs e, FileFormat f, Typeable r) => f -> (a -> String) -> (a -> Maybe (Image r cs e)) -> a -> Either ConvertError (Image r cs e)
- data Encode out
- encodeImage :: (Source r Ix2 (Pixel cs e), ColorSpace cs e) => [Encode (Image r cs e)] -> FilePath -> Image r cs e -> ByteString
- imageWriteFormats :: (Source r Ix2 (Pixel cs e), ColorSpace cs e) => [Encode (Image r cs e)]
- imageWriteAutoFormats :: (Source r Ix2 (Pixel cs e), ColorSpace cs e, ToYA cs e, ToRGBA cs e, ToYCbCr cs e, ToCMYK cs e) => [Encode (Image r cs e)]
- data Decode out
- decodeImage :: (Source r Ix2 (Pixel cs e), ColorSpace cs e) => [Decode (Image r cs e)] -> FilePath -> ByteString -> Image r cs e
- imageReadFormats :: (Source S Ix2 (Pixel cs e), ColorSpace cs e) => [Decode (Image S cs e)]
- imageReadAutoFormats :: (Mutable r Ix2 (Pixel cs e), ColorSpace cs e) => [Decode (Image r cs e)]
- data BMP = BMP
- data GIF = GIF
- data WriteOptionsGIF
- woGetPaletteOptionsGIF :: WriteOptionsGIF -> PaletteOptions
- woSetPaletteOptionsGIF :: PaletteOptions -> WriteOptionsGIF -> WriteOptionsGIF
- data PaletteOptions :: * = PaletteOptions {}
- data PaletteCreationMethod :: *
- data WriteOptionsSequenceGIF
- woGetGifLoopingGIFs :: WriteOptionsSequenceGIF -> GifLooping
- woGetPaletteOptionsGIFs :: WriteOptionsSequenceGIF -> PaletteOptions
- woSetGifLoopingGIFs :: GifLooping -> WriteOptionsSequenceGIF -> WriteOptionsSequenceGIF
- woSetPaletteOptionsGIFs :: PaletteOptions -> WriteOptionsSequenceGIF -> WriteOptionsSequenceGIF
- type GifDelay = Int
- data GifLooping :: *
- data HDR = HDR
- data JPG = JPG
- data WriteOptionsJPG
- woGetQualityJPG :: WriteOptionsJPG -> Word8
- woSetQualityJPG :: Word8 -> WriteOptionsJPG -> WriteOptionsJPG
- data PNG = PNG
- data TGA = TGA
- data TIF = TIF
- toAnyCS :: forall r' cs' e' r cs e. (Source r' Ix2 (Pixel cs' e'), Mutable r Ix2 (Pixel cs e), Storable (Pixel cs e), ColorSpace cs e, ToYA cs' e', ToRGBA cs' e', ToHSIA cs' e', ToCMYKA cs' e', ToYCbCrA cs' e') => Image r' cs' e' -> Maybe (Image r cs e)
- toJPImageY8 :: Source r Ix2 (Pixel Y Word8) => Image r Y Word8 -> Image Pixel8
- toJPImageYA8 :: Source r Ix2 (Pixel YA Word8) => Image r YA Word8 -> Image PixelYA8
- toJPImageY16 :: Source r Ix2 (Pixel Y Word16) => Image r Y Word16 -> Image Pixel16
- toJPImageYA16 :: Source r Ix2 (Pixel YA Word16) => Image r YA Word16 -> Image PixelYA16
- toJPImageYF :: Source r Ix2 (Pixel Y Float) => Image r Y Float -> Image PixelF
- toJPImageRGB8 :: Source r Ix2 (Pixel RGB Word8) => Image r RGB Word8 -> Image PixelRGB8
- toJPImageRGBA8 :: Source r Ix2 (Pixel RGBA Word8) => Image r RGBA Word8 -> Image PixelRGBA8
- toJPImageRGB16 :: Source r Ix2 (Pixel RGB Word16) => Image r RGB Word16 -> Image PixelRGB16
- toJPImageRGBA16 :: Source r Ix2 (Pixel RGBA Word16) => Image r RGBA Word16 -> Image PixelRGBA16
- toJPImageRGBF :: Source r Ix2 (Pixel RGB Float) => Image r RGB Float -> Image PixelRGBF
- toJPImageYCbCr8 :: Source r Ix2 (Pixel YCbCr Word8) => Image r YCbCr Word8 -> Image PixelYCbCr8
- toJPImageCMYK8 :: Source r Ix2 (Pixel CMYK Word8) => Image r CMYK Word8 -> Image PixelCMYK8
- data PBM = PBM
- data PGM = PGM
- data PPM = PPM
Reading
Arguments
| :: Readable f arr | |
| => f | File format that should be used while decoding the file |
| -> ReadOptions f | Any file format related decoding options. Use |
| -> FilePath | Path to the file |
| -> IO arr |
Read an array from one of the supported file formats.
Arguments
| :: (Source S Ix2 (Pixel cs e), ColorSpace cs e) | |
| => FilePath | File path for an image |
| -> IO (Image S cs e) |
Try to guess an image format from file's extension, then attempt to decode it as such. In order
to supply the format manually and thus avoid this guessing technique, use readArray
instead. Color space and precision of the result array must match exactly that of the actual
image, in order to apply auto conversion use readImageAuto instead.
Might throw ConvertError, DecodeError and other standard errors related to file IO.
Result image will be read as specified by the type signature:
>>>frog <- readImage "files/frog.jpg" :: IO (Image S YCbCr Word8)>>>displayImage frog
In case when the result image type does not match the color space or precision of the actual
image file, ConvertError will be thrown.
>>>frog <- readImage "files/frog.jpg" :: IO (Image S CMYK Word8)>>>displayImage frog*** Exception: ConvertError "Cannot decode JPG image <Image S YCbCr Word8> as <Image S CMYK Word8>"
Whenever image is not in the color space or precision that we need, either use readImageAuto or
manually convert to the desired one by using the appropriate conversion functions:
>>>frogCMYK <- readImageAuto "files/frog.jpg" :: IO (Image S CMYK Double)>>>displayImage frogCMYK
Arguments
| :: (Mutable r Ix2 (Pixel cs e), ColorSpace cs e) | |
| => FilePath | File path for an image |
| -> IO (Image r cs e) |
Same as readImage, but will perform any possible color space and
precision conversions in order to match the result image type. Very useful
whenever image format isn't known at compile time.
Writing
Arguments
| :: Writable f arr | |
| => f | Format to use while encoding the array |
| -> WriteOptions f | Any file format related encoding options. Use |
| -> FilePath | |
| -> arr | |
| -> IO () |
writeImage :: (Source r Ix2 (Pixel cs e), ColorSpace cs e) => FilePath -> Image r cs e -> IO () #
Inverse of the readImage, but similarly to it, will guess an output file format from the file
extension and will write to file any image with the colorspace that is supported by that
format. Precision of the image might be adjusted using Elevator if precision of the source
array is not supported by the image file format. For instance, @r@ 'RGBA' 'Double'
being saved as PNG file would be written as @r@ 'RGBA' 'Word16', thus using highest
supported precision Word16 for that format. If automatic colors space is also desired,
writeImageAuto can be used instead.
Can throw ConvertError, EncodeError and other usual IO errors.
writeImageAuto :: (Source r Ix2 (Pixel cs e), ColorSpace cs e, ToYA cs e, ToRGBA cs e, ToYCbCr cs e, ToCMYK cs e) => FilePath -> Image r cs e -> IO () #
Displaying
data ExternalViewer #
External viewing application to use for displaying images.
Constructors
| ExternalViewer FilePath [String] Int | Any custom viewer, which can be specified:
|
Instances
displayImage :: Writable (Auto TIF) (Image r cs e) => Image r cs e -> IO () #
Makes a call to an external viewer that is set as a default image viewer by the OS. This is a non-blocking function call, so it might take some time before an image will appear.
Arguments
| :: Writable (Auto TIF) (Image r cs e) | |
| => ExternalViewer | Image viewer program |
| -> Bool | Should a call block the cuurrent thread untul viewer is closed. |
| -> Image r cs e | |
| -> IO () |
An image is written as a .tiff file into an operating system's temporary
directory and passed as an argument to the external viewer program.
displayImageUsing :: Writable (Auto TIF) (Image r cs e) =>
ExternalViewer -- ^ Image viewer program
-> Bool -- ^ Should a call block the cuurrent thread untul viewer is closed.
-> Image r cs e -> IO ()
displayImageFile :: ExternalViewer -> FilePath -> IO () #
Displays an image file by calling an external image viewer.
Common viewers
defaultViewer :: ExternalViewer #
Default viewer is inferred from the operating system.
eog /tmp/hip/img.tiff
gpicviewViewer :: ExternalViewer #
gpicview /tmp/hip/img.tiff
feh --fullscreen --auto-zoom /tmp/hip/img.tiff
gimpViewer :: ExternalViewer #
gimp /tmp/hip/img.tiff
Supported Image Formats
class (Default (ReadOptions f), Default (WriteOptions f), Show f) => FileFormat f where #
File format. Helps in guessing file format from a file extension, as well as supplying format specific options during saving the file.
Minimal complete definition
Associated Types
type ReadOptions f #
Options that can be used during reading a file in this format.
type WriteOptions f #
Options that can be used during writing a file in this format.
Methods
Default file extension for this file format.
Other known file extensions for this file format, eg. ".jpeg", ".jpg".
isFormat :: String -> f -> Bool #
Checks if a file extension corresponds to the format, eg.
isFormat ".png" PNG == True
Instances
| FileFormat TIF # | |
| FileFormat TGA # | |
| FileFormat JPG # | |
| FileFormat HDR # | |
| FileFormat GIF # | |
| FileFormat PNG # | |
| FileFormat BMP # | |
| FileFormat PPM # | |
| FileFormat PGM # | |
| FileFormat PBM # | |
| FileFormat f => FileFormat (Auto f) # | |
| FileFormat (Sequence (Auto GIF)) # | |
| FileFormat (Sequence (Auto PPM)) # | |
| FileFormat (Sequence (Auto PGM)) # | |
| FileFormat (Sequence (Auto PBM)) # | |
| FileFormat (Sequence GIF) # | |
| FileFormat (Sequence PPM) # | |
| FileFormat (Sequence PGM) # | |
| FileFormat (Sequence PBM) # | |
| FileFormat (Decode (Image r cs e)) # | |
| FileFormat (Encode (Image r cs e)) # | |
File formats that can be read into an Array.
Minimal complete definition
Instances
Arrays that can be written into a file.
Minimal complete definition
Instances
newtype ConvertError #
Conversion error, which is thrown when there is a mismatch between the expected array type and the one supported by the file format. It is also thrown upon a failure of automatic conversion between those types, in case such conversion is utilized.
Constructors
| ConvertError String |
Instances
newtype EncodeError #
This exception can be thrown while writing/encoding into a file and indicates an error in an array that is being encoded.
Constructors
| EncodeError String |
Instances
newtype DecodeError #
This exception can be thrown while reading/decoding a file and indicates an error in the file itself.
Constructors
| DecodeError String |
Instances
Special wrapper for formats that support encoding/decoding sequence of array.
Constructors
| Sequence f |
Instances
Constructors
| Auto f |
Instances
defaultReadOptions :: FileFormat f => f -> ReadOptions f #
Generate default read options for a file format
defaultWriteOptions :: FileFormat f => f -> WriteOptions f #
Generate default write options for a file format
fromMaybeEncode :: forall f r cs e b. (ColorSpace cs e, FileFormat f, Typeable r) => f -> Proxy (Image r cs e) -> Maybe b -> b #
Encode an image using the supplied function or throw an error in case of failure.
fromEitherDecode :: forall r cs e a f. (ColorSpace cs e, FileFormat f, Typeable r) => f -> (a -> String) -> (a -> Maybe (Image r cs e)) -> Either String a -> Image r cs e #
Decode an image using the supplied function or throw an error in case of failure.
convertEither :: forall r cs e a f. (ColorSpace cs e, FileFormat f, Typeable r) => f -> (a -> String) -> (a -> Maybe (Image r cs e)) -> a -> Either ConvertError (Image r cs e) #
Convert an image using the supplied function and return ConvertError error in case of failure.
encodeImage :: (Source r Ix2 (Pixel cs e), ColorSpace cs e) => [Encode (Image r cs e)] -> FilePath -> Image r cs e -> ByteString #
imageWriteFormats :: (Source r Ix2 (Pixel cs e), ColorSpace cs e) => [Encode (Image r cs e)] #
imageWriteAutoFormats :: (Source r Ix2 (Pixel cs e), ColorSpace cs e, ToYA cs e, ToRGBA cs e, ToYCbCr cs e, ToCMYK cs e) => [Encode (Image r cs e)] #
decodeImage :: (Source r Ix2 (Pixel cs e), ColorSpace cs e) => [Decode (Image r cs e)] -> FilePath -> ByteString -> Image r cs e #
imageReadFormats :: (Source S Ix2 (Pixel cs e), ColorSpace cs e) => [Decode (Image S cs e)] #
imageReadAutoFormats :: (Mutable r Ix2 (Pixel cs e), ColorSpace cs e) => [Decode (Image r cs e)] #
JuicyPixels formats
BMP
Bitmap image with .bmp extension.
Constructors
| BMP |
Instances
| Show BMP # | |
| FileFormat BMP # | |
| (ColorSpace cs e, Source r Ix2 (Pixel cs e)) => Writable BMP (Image r cs e) # | |
| ColorSpace cs e => Readable BMP (Image S cs e) # | |
| (ColorSpace cs e, ToRGBA cs e, Source r Ix2 (Pixel cs e)) => Writable (Auto BMP) (Image r cs e) # | |
| (Mutable r Ix2 (Pixel cs e), ColorSpace cs e) => Readable (Auto BMP) (Image r cs e) # | |
| type ReadOptions BMP # | |
| type WriteOptions BMP # | |
GIF
Graphics Interchange Format image with .gif extension.
Constructors
| GIF |
Instances
| Show GIF # | |
| FileFormat GIF # | |
| (ColorSpace cs e, Source r Ix2 (Pixel cs e)) => Writable GIF (Image r cs e) # | |
| ColorSpace cs e => Readable GIF (Image S cs e) # | |
| FileFormat (Sequence (Auto GIF)) # | |
| FileFormat (Sequence GIF) # | |
| (ColorSpace cs e, ToY cs e, ToRGB cs e, Source r Ix2 (Pixel cs e)) => Writable (Auto GIF) (Image r cs e) # | |
| (ColorSpace cs e, Source r Ix2 (Pixel cs e)) => Writable (Sequence GIF) (Array B Ix1 (GifDelay, Image r cs e)) # | |
| (Mutable r Ix2 (Pixel cs e), ColorSpace cs e) => Readable (Auto GIF) (Image r cs e) # | |
| (Mutable r Ix2 (Pixel cs e), ColorSpace cs e) => Readable (Sequence (Auto GIF)) (Array B Ix1 (Image r cs e)) # | |
| ColorSpace cs e => Readable (Sequence GIF) (Array B Ix1 (GifDelay, Image S cs e)) # | |
| ColorSpace cs e => Readable (Sequence GIF) (Array B Ix1 (Image S cs e)) # | |
| type ReadOptions GIF # | |
| type WriteOptions GIF # | |
| type ReadOptions (Sequence (Auto GIF)) # | |
| type ReadOptions (Sequence GIF) # | |
| type WriteOptions (Sequence (Auto GIF)) # | |
| type WriteOptions (Sequence GIF) # | |
data WriteOptionsGIF #
Instances
data PaletteOptions :: * #
To specify how the palette will be created.
Constructors
| PaletteOptions | |
Fields
| |
data PaletteCreationMethod :: * #
Define which palette creation method is used.
Constructors
| MedianMeanCut | MedianMeanCut method, provide the best results (visualy) at the cost of increased calculations. |
| Uniform | Very fast algorithm (one pass), doesn't provide good looking results. |
Animated
data WriteOptionsSequenceGIF #
Instances
Delay to wait before showing the next Gif image. The delay is expressed in 100th of seconds.
data GifLooping :: * #
Help to control the behaviour of GIF animation looping.
Constructors
| LoopingNever | The animation will stop once the end is reached |
| LoopingForever | The animation will restart once the end is reached |
| LoopingRepeat Word16 | The animation will repeat n times before stoping |
HDR
High-dynamic-range image with .hdr or .pic extension.
Constructors
| HDR |
Instances
| Show HDR # | |
| FileFormat HDR # | |
| (ColorSpace cs e, Source r Ix2 (Pixel cs e)) => Writable HDR (Image r cs e) # | |
| ColorSpace cs e => Readable HDR (Image S cs e) # | |
| (ColorSpace cs e, ToRGB cs e, Source r Ix2 (Pixel cs e)) => Writable (Auto HDR) (Image r cs e) # | |
| (Mutable r Ix2 (Pixel cs e), ColorSpace cs e) => Readable (Auto HDR) (Image r cs e) # | |
| type ReadOptions HDR # | |
| type WriteOptions HDR # | |
JPG
Joint Photographic Experts Group image with .jpg or .jpeg extension.
Constructors
| JPG |
Instances
| Show JPG # | |
| FileFormat JPG # | |
| (ColorSpace cs e, Source r Ix2 (Pixel cs e)) => Writable JPG (Image r cs e) # | |
| ColorSpace cs e => Readable JPG (Image S cs e) # | |
| (ColorSpace cs e, ToYCbCr cs e, Source r Ix2 (Pixel cs e)) => Writable (Auto JPG) (Image r cs e) # | |
| (Mutable r Ix2 (Pixel cs e), ColorSpace cs e) => Readable (Auto JPG) (Image r cs e) # | |
| type ReadOptions JPG # | |
| type WriteOptions JPG # | |
data WriteOptionsJPG #
Instances
woGetQualityJPG :: WriteOptionsJPG -> Word8 #
woSetQualityJPG :: Word8 -> WriteOptionsJPG -> WriteOptionsJPG #
Set the image quality, supplied value will be clamped to [0, 100]
range. This setting directly affects the Jpeg compression level.
PNG
Portable Network Graphics image with .png extension.
Constructors
| PNG |
Instances
| Show PNG # | |
| FileFormat PNG # | |
| (ColorSpace cs e, Source r Ix2 (Pixel cs e)) => Writable PNG (Image r cs e) # | |
| ColorSpace cs e => Readable PNG (Image S cs e) # | |
| (ColorSpace cs e, ToYA cs e, ToRGBA cs e, Source r Ix2 (Pixel cs e)) => Writable (Auto PNG) (Image r cs e) # | |
| (Mutable r Ix2 (Pixel cs e), ColorSpace cs e) => Readable (Auto PNG) (Image r cs e) # | |
| type ReadOptions PNG # | |
| type WriteOptions PNG # | |
TGA
Truevision Graphics Adapter image with .tga extension.
Constructors
| TGA |
Instances
| Show TGA # | |
| FileFormat TGA # | |
| (ColorSpace cs e, Source r Ix2 (Pixel cs e)) => Writable TGA (Image r cs e) # | |
| ColorSpace cs e => Readable TGA (Image S cs e) # | |
| (ColorSpace cs e, ToRGBA cs e, Source r Ix2 (Pixel cs e)) => Writable (Auto TGA) (Image r cs e) # | |
| (Mutable r Ix2 (Pixel cs e), ColorSpace cs e) => Readable (Auto TGA) (Image r cs e) # | |
| type ReadOptions TGA # | |
| type WriteOptions TGA # | |
TIF
Tagged Image File Format image with .tif or .tiff extension.
Constructors
| TIF |
Instances
| Show TIF # | |
| FileFormat TIF # | |
| (ColorSpace cs e, Source r Ix2 (Pixel cs e)) => Writable TIF (Image r cs e) # | |
| ColorSpace cs e => Readable TIF (Image S cs e) # | |
| (ColorSpace cs e, ToRGBA cs e, Source r Ix2 (Pixel cs e)) => Writable (Auto TIF) (Image r cs e) # | |
| (Mutable r Ix2 (Pixel cs e), ColorSpace cs e) => Readable (Auto TIF) (Image r cs e) # | |
| type ReadOptions TIF # | |
| type WriteOptions TIF # | |
JuciyPixels conversion
To JuicyPixels
toAnyCS :: forall r' cs' e' r cs e. (Source r' Ix2 (Pixel cs' e'), Mutable r Ix2 (Pixel cs e), Storable (Pixel cs e), ColorSpace cs e, ToYA cs' e', ToRGBA cs' e', ToHSIA cs' e', ToCMYKA cs' e', ToYCbCrA cs' e') => Image r' cs' e' -> Maybe (Image r cs e) #
From JuicyPixels
Netpbm formats
PBM
Netpbm: portable bitmap image with .pbm extension.
Constructors
| PBM |
Instances
| Show PBM # | |
| FileFormat PBM # | |
| ColorSpace cs e => Readable PBM (Image S cs e) # | |
| FileFormat (Sequence (Auto PBM)) # | |
| FileFormat (Sequence PBM) # | |
| (Mutable r Ix2 (Pixel cs e), ColorSpace cs e) => Readable (Auto PBM) (Image r cs e) # | |
| (Mutable r Ix2 (Pixel cs e), ColorSpace cs e) => Readable (Sequence (Auto PBM)) (Array B Ix1 (Image r cs e)) # | |
| ColorSpace cs e => Readable (Sequence PBM) (Array B Ix1 (Image S cs e)) # | |
| type ReadOptions PBM # | |
| type WriteOptions PBM # | |
| type ReadOptions (Sequence (Auto PBM)) # | |
| type ReadOptions (Sequence PBM) # | |
| type WriteOptions (Sequence (Auto PBM)) # | |
| type WriteOptions (Sequence PBM) # | |
PGM
Netpbm: portable graymap image with .pgm extension.
Constructors
| PGM |
Instances
| Show PGM # | |
| FileFormat PGM # | |
| ColorSpace cs e => Readable PGM (Image S cs e) # | |
| FileFormat (Sequence (Auto PGM)) # | |
| FileFormat (Sequence PGM) # | |
| (Mutable r Ix2 (Pixel cs e), ColorSpace cs e) => Readable (Auto PGM) (Image r cs e) # | |
| (Mutable r Ix2 (Pixel cs e), ColorSpace cs e) => Readable (Sequence (Auto PGM)) (Array B Ix1 (Image r cs e)) # | |
| ColorSpace cs e => Readable (Sequence PGM) (Array B Ix1 (Image S cs e)) # | |
| type ReadOptions PGM # | |
| type WriteOptions PGM # | |
| type ReadOptions (Sequence (Auto PGM)) # | |
| type ReadOptions (Sequence PGM) # | |
| type WriteOptions (Sequence (Auto PGM)) # | |
| type WriteOptions (Sequence PGM) # | |
PPM
Netpbm: portable pixmap image with .ppm extension.
Constructors
| PPM |
Instances
| Show PPM # | |
| FileFormat PPM # | |
| ColorSpace cs e => Readable PPM (Image S cs e) # | |
| FileFormat (Sequence (Auto PPM)) # | |
| FileFormat (Sequence PPM) # | |
| (Mutable r Ix2 (Pixel cs e), ColorSpace cs e) => Readable (Auto PPM) (Image r cs e) # | |
| (Mutable r Ix2 (Pixel cs e), ColorSpace cs e) => Readable (Sequence (Auto PPM)) (Array B Ix1 (Image r cs e)) # | |
| ColorSpace cs e => Readable (Sequence PPM) (Array B Ix1 (Image S cs e)) # | |
| type ReadOptions PPM # | |
| type WriteOptions PPM # | |
| type ReadOptions (Sequence (Auto PPM)) # | |
| type ReadOptions (Sequence PPM) # | |
| type WriteOptions (Sequence (Auto PPM)) # | |
| type WriteOptions (Sequence PPM) # | |