openexr-write: Library for writing images in OpenEXR HDR file format.

[ graphics, library ] [ Propose Tags ]

OpenEXR allows to store pixels as floating point numbers and thus can capture high dynamic range.

[Skip to Readme]


[Index] [Quick Jump]


Maintainer's Corner

Package maintainers

For package maintainers and hackage trustees


  • No Candidates
Versions [RSS],,
Change log
Dependencies base (>=4.9.1 && <5), binary, bytestring, data-binary-ieee754, deepseq, split, vector, vector-split, zlib [details]
License LicenseRef-PublicDomain
Copyright 2018 Pavol Klacansky
Author Pavol Klacansky
Category Graphics
Home page git://
Source repo head: git clone git://
Uploaded by pavolzetor at 2018-08-18T21:57:21Z
Distributions LTSHaskell:, NixOS:, Stackage:
Reverse Dependencies 1 direct, 0 indirect [details]
Downloads 2437 total (23 in the last 30 days)
Rating (no votes yet) [estimated by Bayesian average]
Your Rating
  • λ
  • λ
  • λ
Status Docs available [build log]
Last success reported on 2018-08-18 [all 1 reports]

Readme for openexr-write-

[back to package description]

Haskell OpenEXR Library

This library can write colored images which use floating point values into OpenEXR (v2) high-dynamic-range file format.

Supported features:

  • scanline format
  • compression (ZIPS, ZIP)
  • pixel format (RGB float32)


An image can be written by calling writeFile function. For example, following code stores a compressed image consisting of one 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.ZipCompression