···
1
+
synopsis: "Library implementing parsing of image formats such as PNG, BMP, PPM"
4
+
The imagelib library implements image formats such as PNG, BMP, and PPM in
5
+
OCaml, relying on only one external dependency: 'decompress'.
7
+
Unix-dependent functionality such as reading or writing to files in the
8
+
filesystem are packaged in the `imagelib.unix` findlib module inside this
9
+
OPAM package; to use it you need to include `imagelib.unix` specifically
10
+
in your project's dependencies, for instance `(libraries imagelib.unix)`
13
+
Supported image formats:
14
+
- PNG (full implementation of RFC 2083),
15
+
- PPM, PGM, PBM, ... (fully supported),
17
+
- JPG (only image size natively),
18
+
- GIF (only image size natively),
19
+
- There is an experimental native implementation available in the pure `ImageLib` module.
20
+
- XCF (only image size natively),
21
+
- Utility functions for handling unimplemented formats are available in
22
+
the 'imagelib.unix' findlib package and handle conversion from unsupported
23
+
image formats like JPG, GIF, XCF by converting them to PNG using the
24
+
`convert` commandline utility from `imagemagick`.
26
+
As imagelib only requires `decompress`, it is suitable (excluding operations
27
+
requiring the `imagemagick` `convert` binary) for compilation to javascript
28
+
using `js_of_ocaml`, or inclusion in MirageOS unikernels.
30
+
`app/imagetool.ml` contains an example binary that acts as a command-line interface to many of the functions in the library. It will be installed as `imagetool` or `imagetool.exe` if you use **opam** to install the library, and otherwise it will be in `_build/default/app/imagetool.exe`
33
+
maintainer: "rodolphe.lepigre@inria.fr"
34
+
bug-reports: "https://github.com/rlepigre/ocaml-imagelib/issues"
35
+
homepage: "https://github.com/rlepigre/ocaml-imagelib"
36
+
dev-repo: "git+https://github.com/rlepigre/ocaml-imagelib.git"
38
+
"Rodolphe Lepigre <rodolphe.lepigre@inria.fr>"
41
+
doc: "https://rlepigre.github.io/ocaml-imagelib"
44
+
"ocaml" { >= "4.07.0" }
46
+
"dune" { >= "2.3.0" }
47
+
"decompress" { >= "1.3.0" }
49
+
"alcotest" { with-test }
53
+
"crowbar" { with-test }
54
+
"afl-persistent" { with-test }
58
+
[ "dune" "build" "-p" name "-j" jobs
60
+
"@runtest" {with-test} ]
64
+
"https://github.com/rlepigre/ocaml-imagelib/releases/download/20221222/imagelib-20221222.tbz"
66
+
"sha256=050d935711a5a5cead7a6b5e2bce13297a71d0cb47652ca42ff4e328df7118fd"
67
+
"sha512=28dae756945adb1c6a348d5c3e61840af7efb8df16c56bdf09ee4c69231774f169384f822359999ab315cc11634392dc4811ba932479aa1fdb78d25100b6733d"
70
+
x-commit-hash: "54aa4fc75e9a1c8b6e114a5548d7f94041184f23"