3 releases (breaking)
0.5.0-rc0 | Apr 7, 2024 |
---|---|
0.4.0 | Nov 16, 2023 |
0.2.0 | Apr 30, 2023 |
#45 in #image-encoding
453 downloads per month
Used in zune-image
115KB
1.5K
SLoC
Zune-farbfeld
Farbfeld decoding and encoding support
Usage
Add zune-farbfeld
to your Cargo.toml
zune-farbfeld = "[LATEST]"
You can then use FarbfeldDecoder
to decode images
and FarbfeldEncoder
to encode images
Endianness
Where endianness matters, the library either takes or uses native endian
lib.rs
:
farbfeld is a lossless image format which is easy to parse, pipe and compress. It has the following format:
╔════════╤═════════════════════════════════════════════════════════╗
║ Bytes │ Description ║
╠════════╪═════════════════════════════════════════════════════════╣
║ 8 │ "farbfeld" magic value ║
╟────────┼─────────────────────────────────────────────────────────╢
║ 4 │ 32-Bit BE unsigned integer (width) ║
╟────────┼─────────────────────────────────────────────────────────╢
║ 4 │ 32-Bit BE unsigned integer (height) ║
╟────────┼─────────────────────────────────────────────────────────╢
║ [2222] │ 4x16-Bit BE unsigned integers [RGBA] / pixel, row-major ║
╚════════╧═════════════════════════════════════════════════════════╝
The RGB-data should be sRGB for best interoperability and not alpha-premultiplied.