#image #resize #imagemagick #conversion #interlacing

image-convert

A high level library for image identification, conversion, interlacing and high quality resizing

31 releases

0.10.2 Aug 4, 2020
0.9.12 Jul 29, 2020
0.9.5 Mar 1, 2020
0.8.10 Sep 16, 2019
0.8.9 Jul 28, 2019

#35 in Images

Download history 27/week @ 2020-11-04 22/week @ 2020-11-11 10/week @ 2020-11-18 40/week @ 2020-11-25 18/week @ 2020-12-02 38/week @ 2020-12-09 8/week @ 2020-12-16 8/week @ 2020-12-23 52/week @ 2020-12-30 18/week @ 2021-01-06 58/week @ 2021-01-13 33/week @ 2021-01-20 10/week @ 2021-01-27 44/week @ 2021-02-03 226/week @ 2021-02-10 124/week @ 2021-02-17

274 downloads per month
Used in 4 crates

MIT license

61KB
1.5K SLoC

Image Convert

Build Status

This crate is a high level library using MagickWand (ImageMagick) for image identification, conversion, interlacing and high quality resizing.

Examples

Identify an image.

extern crate image_convert;

use image_convert::{ImageResource, InterlaceType, identify};

let input = ImageResource::from_path("tests/data/P1060382.JPG");

let mut output = None;

let id = identify(&mut output, &input).unwrap();

assert_eq!(4592, id.resolution.width);
assert_eq!(2584, id.resolution.height);
assert_eq!("JPEG", id.format);
assert_eq!(InterlaceType::NoInterlace, id.interlace);

Convert an image to a PNG image and also resize it.

extern crate image_convert;

use std::path::Path;

use image_convert::{ImageResource, PNGConfig, to_png};

let source_image_path = Path::new("tests/data/P1060382.JPG");

let target_image_path = Path::join(source_image_path.parent().unwrap(), "P1060382_output.png");

let mut config = PNGConfig::new();

config.width = 1920;

let input = ImageResource::from_path(source_image_path);

let mut output = ImageResource::from_path(target_image_path);

to_png(&mut output, &input, &config).unwrap();

Supported output formats are BMP, JPG, PNG, GIF, WEBP, ICO, PGM and GrayRaw.

Crates.io

https://crates.io/crates/image-convert

Documentation

https://docs.rs/image-convert

License

MIT

Dependencies

~3–5MB
~121K SLoC