doc: add install guide and an example
This commit is contained in:
32
examples/thumbnail-cat.rs
Normal file
32
examples/thumbnail-cat.rs
Normal file
@ -0,0 +1,32 @@
|
||||
//
|
||||
// Copyright (c) 2024 Nathan Fiedler
|
||||
//
|
||||
extern crate magick_rust;
|
||||
use magick_rust::{magick_wand_genesis, MagickError, MagickWand};
|
||||
use std::fs;
|
||||
use std::sync::Once;
|
||||
|
||||
// Used to make sure MagickWand is initialized exactly once. Note that we do not
|
||||
// bother shutting down, we simply exit when we're done.
|
||||
static START: Once = Once::new();
|
||||
|
||||
// Read the named file and create a thumbnail bound by a rectangle that is 240
|
||||
// by 240 pixels (for snow-covered-cat.jpg it will be 240x191 pixels).
|
||||
fn resize(filepath: &str) -> Result<Vec<u8>, MagickError> {
|
||||
START.call_once(|| {
|
||||
magick_wand_genesis();
|
||||
});
|
||||
let wand = MagickWand::new();
|
||||
wand.read_image(filepath)?;
|
||||
wand.fit(240, 240);
|
||||
wand.write_image_blob("jpeg")
|
||||
}
|
||||
|
||||
fn main() {
|
||||
match resize("tests/data/snow-covered-cat.jpg") {
|
||||
Ok(bytes) => {
|
||||
fs::write("thumbnail-cat.jpg", bytes).expect("write failed");
|
||||
}
|
||||
Err(err) => println!("error: {}", err),
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user