deft-resvg 0.46.0

An SVG rendering library.
Documentation
// Copyright 2017 the Resvg Authors
// SPDX-License-Identifier: Apache-2.0 OR MIT

use tiny_skia::Color;
use resvg::RenderOptions;
fn main() {
    let args: Vec<String> = std::env::args().collect();
    if args.len() != 3 {
        println!("Usage:\n\tminimal <in-svg> <out-png>");
        return;
    }

    let tree = {
        let mut opt = usvg::Options {
            // Get file's absolute directory.
            resources_dir: std::fs::canonicalize(&args[1])
                .ok()
                .and_then(|p| p.parent().map(|p| p.to_path_buf())),
            ..usvg::Options::default()
        };
        opt.fontdb_mut().load_system_fonts();

        let svg_data = std::fs::read(&args[1]).unwrap();
        usvg::Tree::from_data(&svg_data, &opt).unwrap()
    };

    let pixmap_size = tree.size().to_int_size();
    let mut pixmap = tiny_skia::Pixmap::new(pixmap_size.width(), pixmap_size.height()).unwrap();
    let mut render_options = RenderOptions::default();
    render_options.set_color(Color::from_rgba8(0, 100, 0, 255));
    resvg::render(&tree, tiny_skia::Transform::default(), &mut pixmap.as_mut(), &render_options);
    pixmap.save_png(&args[2]).unwrap();
}