diff options
| author | Laurenz <laurmaedje@gmail.com> | 2020-11-30 22:07:08 +0100 |
|---|---|---|
| committer | Laurenz <laurmaedje@gmail.com> | 2020-11-30 22:07:08 +0100 |
| commit | fdc1b378a3eb3cf325592b801c43e2ec2478ddff (patch) | |
| tree | 0e83aa07d7ec49ac494746b44869d0306f5648fe /src/library/insert.rs | |
| parent | 21857064db8ca1bdf61b6e5ee37dff1a15083189 (diff) | |
Compress images in PDFs ⚙
Diffstat (limited to 'src/library/insert.rs')
| -rw-r--r-- | src/library/insert.rs | 16 |
1 files changed, 4 insertions, 12 deletions
diff --git a/src/library/insert.rs b/src/library/insert.rs index c196ce9e..a06cf170 100644 --- a/src/library/insert.rs +++ b/src/library/insert.rs @@ -1,9 +1,6 @@ -use std::io::Cursor; - -use image::io::Reader; use image::GenericImageView; -use crate::env::ResourceId; +use crate::env::{ImageResource, ResourceId}; use crate::layout::*; use crate::prelude::*; @@ -20,15 +17,10 @@ pub fn image(mut args: Args, ctx: &mut EvalContext) -> Value { if let Some(path) = path { let mut env = ctx.env.borrow_mut(); - let loaded = env.resources.load(path.v, |data| { - Reader::new(Cursor::new(data)) - .with_guessed_format() - .ok() - .and_then(|reader| reader.decode().ok()) - }); + let loaded = env.resources.load(path.v, ImageResource::parse); - if let Some((res, buf)) = loaded { - let dimensions = buf.dimensions(); + if let Some((res, img)) = loaded { + let dimensions = img.buf.dimensions(); drop(env); ctx.push(Image { res, |
