11 releases

0.5.1 Jul 14, 2023
0.5.0 Jul 14, 2023
0.4.0 Feb 19, 2022
0.3.0 Feb 3, 2022
0.1.0 Nov 6, 2021

#184 in Images

Download history 18/week @ 2023-12-24 6/week @ 2023-12-31 16/week @ 2024-01-07 60/week @ 2024-01-14 151/week @ 2024-01-21 84/week @ 2024-01-28 104/week @ 2024-02-04 123/week @ 2024-02-11 91/week @ 2024-02-18 66/week @ 2024-02-25 12/week @ 2024-03-03 27/week @ 2024-03-10 32/week @ 2024-03-17 7/week @ 2024-03-24 48/week @ 2024-03-31 2/week @ 2024-04-07

92 downloads per month
Used in 2 crates

Apache-2.0

600KB
253 lines

Thumbnailer

This crate can be used to create thumbnails for all kinds of files.

Usage

use thumbnailer::{create_thumbnails, Thumbnail, ThumbnailSize};
use std::fs::File;
use std::io::BufReader;

fn main() {
    let file = File::open("tests/assets/test.png").unwrap();
    let reader = BufReader::new(file);
    let mut  thumbnails = create_thumbnails(reader, mime::IMAGE_PNG, [ThumbnailSize::Small, ThumbnailSize::Medium]).unwrap();
    
    let thumbnail = thumbnails.pop().unwrap();
    let mut buf = Vec::new();
    thumbnail.write_png(&mut buf).unwrap();
}

Supported media types

Type Subtype
Image Png
Image Bmp
image Jpeg
Image Webp
Image Gif

License

MIT


lib.rs:

Thumbnailer

This crate can be used to generate thumbnails for all kinds of files.

Example:

use thumbnailer::{create_thumbnails, Thumbnail, ThumbnailSize};
use std::fs::File;
use std::io::BufReader;
use std::io::Cursor;

fn main() {
    let file = File::open("tests/assets/test.png").unwrap();
    let reader = BufReader::new(file);
    let mut  thumbnails = create_thumbnails(reader, mime::IMAGE_PNG, [ThumbnailSize::Small, ThumbnailSize::Medium]).unwrap();
    
    let thumbnail = thumbnails.pop().unwrap();
    let mut buf = Cursor::new(Vec::new());
    thumbnail.write_png(&mut buf).unwrap();
}

Dependencies

~22–34MB
~276K SLoC