Vendor things
This commit is contained in:
parent
5deceec006
commit
977e3c17e5
19434 changed files with 10682014 additions and 0 deletions
52
third-party/vendor/image/examples/scaledown/main.rs
vendored
Normal file
52
third-party/vendor/image/examples/scaledown/main.rs
vendored
Normal file
|
|
@ -0,0 +1,52 @@
|
|||
use image::imageops::FilterType;
|
||||
use image::ImageFormat;
|
||||
use std::fmt;
|
||||
use std::fs::File;
|
||||
use std::time::{Duration, Instant};
|
||||
|
||||
struct Elapsed(Duration);
|
||||
|
||||
impl Elapsed {
|
||||
fn from(start: &Instant) -> Self {
|
||||
Elapsed(start.elapsed())
|
||||
}
|
||||
}
|
||||
|
||||
impl fmt::Display for Elapsed {
|
||||
fn fmt(&self, out: &mut fmt::Formatter) -> Result<(), fmt::Error> {
|
||||
match (self.0.as_secs(), self.0.subsec_nanos()) {
|
||||
(0, n) if n < 1000 => write!(out, "{} ns", n),
|
||||
(0, n) if n < 1_000_000 => write!(out, "{} µs", n / 1000),
|
||||
(0, n) => write!(out, "{} ms", n / 1_000_000),
|
||||
(s, n) if s < 10 => write!(out, "{}.{:02} s", s, n / 10_000_000),
|
||||
(s, _) => write!(out, "{} s", s),
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
fn main() {
|
||||
let img = image::open("examples/scaledown/test.jpg").unwrap();
|
||||
for &(name, filter) in [
|
||||
("near", FilterType::Nearest),
|
||||
("tri", FilterType::Triangle),
|
||||
("cmr", FilterType::CatmullRom),
|
||||
("gauss", FilterType::Gaussian),
|
||||
("lcz2", FilterType::Lanczos3),
|
||||
]
|
||||
.iter()
|
||||
{
|
||||
let timer = Instant::now();
|
||||
let scaled = img.resize(400, 400, filter);
|
||||
println!("Scaled by {} in {}", name, Elapsed::from(&timer));
|
||||
let mut output = File::create(&format!("test-{}.png", name)).unwrap();
|
||||
scaled.write_to(&mut output, ImageFormat::Png).unwrap();
|
||||
}
|
||||
|
||||
for size in &[20_u32, 40, 100, 200, 400] {
|
||||
let timer = Instant::now();
|
||||
let scaled = img.thumbnail(*size, *size);
|
||||
println!("Thumbnailed to {} in {}", size, Elapsed::from(&timer));
|
||||
let mut output = File::create(format!("test-thumb{}.png", size)).unwrap();
|
||||
scaled.write_to(&mut output, ImageFormat::Png).unwrap();
|
||||
}
|
||||
}
|
||||
Loading…
Add table
Add a link
Reference in a new issue