10 releases

Uses old Rust 2015

0.2.0 Jan 11, 2017
0.1.0 Dec 22, 2016
0.0.8 Dec 21, 2016
0.0.5 Oct 31, 2016

#9 in #image-processing

Download history 95/week @ 2021-04-07 98/week @ 2021-04-14 502/week @ 2021-04-21 513/week @ 2021-04-28 623/week @ 2021-05-05 423/week @ 2021-05-12 241/week @ 2021-05-19 66/week @ 2021-05-26 199/week @ 2021-06-02 451/week @ 2021-06-09 417/week @ 2021-06-16 369/week @ 2021-06-23 445/week @ 2021-06-30 428/week @ 2021-07-07 460/week @ 2021-07-14 212/week @ 2021-07-21

881 downloads per month
Used in 2 crates

MIT license

89KB
1.5K SLoC

Raster

Build Status

An image processing library for Rust.

Documentation

API and detailed documentation can be found here

License

  • MIT License

lib.rs:

Raster

Raster is an image processing lib for Rust.

It provides a simplified API for processing raster images (JPEG, PNG and GIF).

Installation

Add this to your Cargo.toml file:

[dependencies]

raster = "x.x.x"

Where x are version numbers of the latest version of raster. Eg.: 0.1.0

Then add the raster crate in your main.rs:

extern crate raster; // In your main rust file

Creating Images

From an image file

// Create an image from file
let image = raster::open("tests/in/sample.png").unwrap();

Raster will detect the image format based on the file name.

Create a blank image

use raster::Image; // Include the Image struct

// Create a blank 150x100 image. Defaults to a black background.
let image = Image::blank(150, 100);

Saving Images

Save the opened image file:

// Create an image from file
let image = raster::open("tests/in/sample.png").unwrap();

// Save opened image
raster::save(&image, "tests/out/test_open_save.png").unwrap();

Blending 2 Images

Here are two images blended using the normal mode.

More blending modes and options are available, see the blend API.

Resizing Images

An example of images resized to "fit" in a 200x200 box.

More modes available, see the resize API.

Rotating Images

Images can be rotated both clockwise and counter-clockwise at any arbitrary angle with a custom background color.

And Many More...

More options are available, checkout the modules below.

Dependencies

~3.5MB
~71K SLoC