4 releases
Uses new Rust 2024
new 0.1.3 | Apr 18, 2025 |
---|---|
0.1.2 | Apr 18, 2025 |
0.1.1 | Apr 17, 2025 |
0.1.0 | Apr 17, 2025 |
#17 in #quality
132 downloads per month
4MB
66 lines
img2avif
Convert images to AVIF format.
Usage
This library provides functions to convert image data into the AVIF format.
use std::fs::File;
use img2avif::{convert, convert_with_quality_speed};
fn main() -> Result<(), Box<dyn std::error::Error>> {
let file = File::open("path/to/your/image.png")?; // Supports PNG, JPEG, WebP, etc.
// Use default quality (85) and speed (6)
let avif_data = convert(file)?;
std::fs::write("output.avif", avif_data)?;
println!("Successfully converted image to AVIF!");
Ok(())
}
If you want to customize quality and speed:
use std::fs::File;
use img2avif::convert_with_quality_speed;
fn main() -> Result<(), Box<dyn std::error::Error>> {
let file = File::open("path/to/your/image.jpg")?;
// quality: 0-100, speed: 0-10
let avif_data = convert_with_quality_speed(file, 90, 1)?;
std::fs::write("output.avif", avif_data)?;
Ok(())
}
See src/lib.rs
for the function implementation and tests for more examples.
Dependencies
- image (version 0.25.6 with "avif" feature)
Building and Testing
# Build the project
cargo build
# Run tests
cargo test
License
This project is licensed under the MIT License. See the Cargo.toml
file for details.
Dependencies
~16MB
~375K SLoC