Fix shit, update deps
This commit is contained in:
+5
-5
@@ -1,22 +1,22 @@
|
||||
use image::{DynamicImage, RgbaImage};
|
||||
use resvg::tiny_skia::{Paint, PathBuilder, Pixmap, PixmapPaint, Stroke};
|
||||
use resvg::usvg::TreeParsing;
|
||||
use resvg::usvg::{Options, Transform};
|
||||
use resvg::Tree;
|
||||
use resvg::usvg::{fontdb, Options, PostProcessingSteps, Transform, TreeParsing, TreePostProc};
|
||||
|
||||
use crate::StdError;
|
||||
|
||||
// Render the raw SVG data to an image
|
||||
pub fn render_svg(data: &[u8], height: u32, with_border: bool) -> StdError<DynamicImage> {
|
||||
let opt = Options::default();
|
||||
let rtree = resvg::usvg::Tree::from_data(data, &opt).expect("couldn't parse");
|
||||
let mut rtree = resvg::usvg::Tree::from_data(data, &opt).expect("couldn't parse");
|
||||
rtree.postprocess(PostProcessingSteps::default(), &fontdb::Database::new());
|
||||
let svg_size = rtree.size;
|
||||
// Work out how wide the pixmap of height `height` needs to be to entirely fit the SVG.
|
||||
let scale_factor = height as f32 / svg_size.height();
|
||||
let pm_width = (scale_factor * svg_size.width()).ceil() as u32;
|
||||
let mut pixmap = Pixmap::new(pm_width, height).ok_or("Error creating pixmap")?;
|
||||
// Render the svg into a pixmap.
|
||||
Tree::from_usvg(&rtree).render(
|
||||
resvg::render(
|
||||
&rtree,
|
||||
Transform::from_scale(scale_factor, scale_factor),
|
||||
&mut pixmap.as_mut(),
|
||||
);
|
||||
|
||||
+1
-1
@@ -21,7 +21,7 @@ pub async fn scrape_web() -> StdError<Vec<(String, String)>> {
|
||||
scraper::Selector::parse("li.gallerybox").map_err(|e| format!("{:?}", e))?;
|
||||
let link_sel =
|
||||
scraper::Selector::parse("a.mw-file-description").map_err(|e| format!("{:?}", e))?;
|
||||
let title_sel = scraper::Selector::parse(".gallerytext p").map_err(|e| format!("{:?}", e))?;
|
||||
let title_sel = scraper::Selector::parse(".gallerytext").map_err(|e| format!("{:?}", e))?;
|
||||
|
||||
// Fetch stuff!
|
||||
let client = get_client(None)?;
|
||||
|
||||
Reference in New Issue
Block a user