| Copyright | (c) 2018 Pavol Klacansky |
|---|---|
| License | PublicDomain |
| Maintainer | pavol@klacansky.com |
| Stability | experimental |
| Portability | portable |
| Safe Haskell | None |
| Language | Haskell2010 |
Graphics.OpenEXR
Description
Library for writting OpenEXR images which support high dynamic range. These images are common in computer graphics, especially ray tracing, and can be used to delay quantization to the post-processing stage.
An example of writting 1x1 ZIP compressed image consisting of a red pixel.
module Main where
import qualified Data.Vector as V
import qualified Graphics.OpenEXR as EXR
main :: IO ()
main = do
let image = EXR.ImageRGBF 1 1 (V.fromList [EXR.PixelRGBF 1.0 0.0 0.0])
EXR.writeFile "image.exr" image EXR.ZipCompressionSynopsis
- data Image = ImageRGBF {
- imageWidth :: !Int
- imageHeight :: !Int
- imageData :: Vector PixelRGBF
- data PixelRGBF = PixelRGBF !Float !Float !Float
- data CompressionType
- writeFile :: FilePath -> Image -> CompressionType -> IO ()
Documentation
Constructors
| ImageRGBF | |
Fields
| |
Instances
| Show Image Source # | |
| Generic Image Source # | |
| NFData Image Source # | |
Defined in Graphics.OpenEXR | |
| type Rep Image Source # | |
Defined in Graphics.OpenEXR type Rep Image = D1 (MetaData "Image" "Graphics.OpenEXR" "openexr-write-0.1.0.2-Gt37UWOJnEdAX4kM2c9u1N" False) (C1 (MetaCons "ImageRGBF" PrefixI True) (S1 (MetaSel (Just "imageWidth") NoSourceUnpackedness SourceStrict DecidedStrict) (Rec0 Int) :*: (S1 (MetaSel (Just "imageHeight") NoSourceUnpackedness SourceStrict DecidedStrict) (Rec0 Int) :*: S1 (MetaSel (Just "imageData") NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 (Vector PixelRGBF))))) | |
Instances
| Show PixelRGBF Source # | |
| Generic PixelRGBF Source # | |
| NFData PixelRGBF Source # | |
Defined in Graphics.OpenEXR | |
| type Rep PixelRGBF Source # | |
Defined in Graphics.OpenEXR type Rep PixelRGBF = D1 (MetaData "PixelRGBF" "Graphics.OpenEXR" "openexr-write-0.1.0.2-Gt37UWOJnEdAX4kM2c9u1N" False) (C1 (MetaCons "PixelRGBF" PrefixI False) (S1 (MetaSel (Nothing :: Maybe Symbol) NoSourceUnpackedness SourceStrict DecidedStrict) (Rec0 Float) :*: (S1 (MetaSel (Nothing :: Maybe Symbol) NoSourceUnpackedness SourceStrict DecidedStrict) (Rec0 Float) :*: S1 (MetaSel (Nothing :: Maybe Symbol) NoSourceUnpackedness SourceStrict DecidedStrict) (Rec0 Float)))) | |
data CompressionType Source #
Constructors
| NoCompression | No compression applied |
| ZipsCompression | DEFLATE lossless compression applied per scanline |
| ZipCompression | DEFLATE lossless compression applied per 16 scanlines |
Instances
| Enum CompressionType Source # | |
Defined in Graphics.OpenEXR Methods succ :: CompressionType -> CompressionType # pred :: CompressionType -> CompressionType # toEnum :: Int -> CompressionType # fromEnum :: CompressionType -> Int # enumFrom :: CompressionType -> [CompressionType] # enumFromThen :: CompressionType -> CompressionType -> [CompressionType] # enumFromTo :: CompressionType -> CompressionType -> [CompressionType] # enumFromThenTo :: CompressionType -> CompressionType -> CompressionType -> [CompressionType] # | |
| Binary CompressionType Source # | |
Defined in Graphics.OpenEXR Methods put :: CompressionType -> Put # get :: Get CompressionType # putList :: [CompressionType] -> Put # | |
writeFile :: FilePath -> Image -> CompressionType -> IO () Source #
Write an Image using a CompressionType to an OpenEXR formatted file