2 unstable releases
| 0.1.0 | Dec 15, 2025 |
|---|---|
| 0.0.0 | Aug 30, 2025 |
#787 in Images
912 downloads per month
Used in 2 crates
(via iconography)
160KB
3.5K
SLoC
image-extras
Support for additional image formats beyond those provided by the
image crate.
Usage
Call the register function at program startup:
fn main() {
image_extras::register();
// Now you can use the image crate as normal
let img = image::open("path/to/image.pcx").unwrap();
}
By default, all supported formats are enabled. For finer control, enable individual formats via Cargo features:
[dependencies]
image_extras = { version = "0.1", features = ["pcx"], default-features = false }
Supported Formats
| Feature | Format |
|---|---|
ora |
OpenRaster [spec] |
otb |
OTA Bitmap (Over The Air Bitmap) [desc] |
pcx |
PCX (ZSoft Paintbrush bitmap/PiCture eXchange) [desc] |
sgi |
SGI (Silicon Graphics Image) [spec] |
wbmp |
Wireless Bitmap [spec] |
xbm |
X BitMap [spec] |
xpm |
X PixMap [spec] |
By default, image-extras enables support for all included formats. This is
convenient for prototyping, but for other uses you are encouraged to evaluate
the individual implementations and enable only the ones that meet your
quality/robustness requirements.
New Formats
We welcome PRs to add support for additional image formats.
Required criteria
- Must be one of the raster image formats recognized by ImageMagick.
- No patent or licensing restrictions.
- Specification or sufficiently detailed file format description freely available online.
- Must include multiple test images, and their source/license should be mentioned in the PR description.
- Implementation must be entirely in Rust.
Additional nice-to-haves
- Minimal or no dependencies on external libraries.
- No use of unsafe code.
Version Compatibility
image crate version |
Compatible image-extras versions |
|---|---|
| 0.25.x | 0.1.x |
Fuzzing
Fuzzing is not a priority for this crate and decoders may panic or worse on malformed input. Please do not open issues for crashes found by fuzzing, unless they are memory safety violations, though PRs fixing them are welcome.
This is an intentional tradeoff to balance the inclusion criteria for new formats with maintainer time and effort.
Dependencies
~7.5MB
~158K SLoC