binary-file: read/write binary file
runghc -XQuasiQuotes exam.hs some.bmp out.bmp
exam.hs:
import File.Binary
import File.Binary.Data.LittleEndian
import System.Environment
import Data.ByteString as BS
main = do
[inf, outf] <- getArgs
cnt <- BS.readFile inf
let bmp = readBitmap $ cnt `BS.append` replicate 20 ' '
print bmp
let out = writeBitmap bmp {
authorFirst = "Yoshikuni ",
authorSecond = "Jujo "
}
BS.writeFile outf out
instance RetType (Int, Int, Int) where
type Argument (Int, Int, Int) = ()
fromType _ (b, g, r) = cc $ [
fromType 1 b, fromType 1 g, fromType 1 r, zero]
toType _ str = let
(b, rest) = toType 1 str
(g, rest') = toType 1 rest
(r, rest'') = toType 1 rest' in
((b, g, r), dp 1 rest'')
[binary|
Bitmap
2: "BM"
4: fileSize
2: 0
2: 0
4: offset
4: 40
4: bitmapWidth
4: bitmapHeight
2: 1
2: bitsPerPixel
4: compressionMethod
4: imageSize
4: horizontalResolution
4: verticalResolution
4: numberOfColors
4: importantColors
((), Just numberOfColors)<[(Int, Int, Int)]>: colors
imageSize<BS.ByteString>: image
((), Just 10)<String>: authorFirst
((), Just 10)<String>: authorSecond
|]
Downloads
- binary-file-0.12.8.tar.gz [browse] (Cabal source package)
- Package description (as included in the package)
Maintainer's Corner
For package maintainers and hackage trustees
Candidates
- No Candidates
| Versions [RSS] | 0.2, 0.3, 0.4, 0.6, 0.12.6, 0.12.8, 0.13.1, 0.13.2, 0.14.1, 0.14.3, 0.15.0, 0.15.9, 0.15.10, 0.15.11, 0.15.13, 0.15.16, 0.15.18, 0.15.22, 0.15.24, 0.15.25 |
|---|---|
| Dependencies | base (>3 && <5), bytestring, peggy, template-haskell [details] |
| License | BSD-3-Clause |
| Author | Yoshikuni Jujo <PAF01143@nifty.ne.jp> |
| Maintainer | Yoshikuni Jujo <PAF01143@nifty.ne.jp> |
| Category | File |
| Source repo | head: git clone git://github.com/YoshikuniJujo/binary-file.git this: git clone git://github.com/YoshikuniJujo/binary-file.git(tag 0.12.7) |
| Uploaded | by YoshikuniJujo at 2013-03-27T03:07:37Z |
| Distributions | |
| Reverse Dependencies | 2 direct, 0 indirect [details] |
| Downloads | 16105 total (46 in the last 30 days) |
| Rating | (no votes yet) [estimated by Bayesian average] |
| Your Rating | |
| Status | Docs uploaded by user Build status unknown [no reports yet] |