Skip to main content

Crate svg_renderer

Crate svg_renderer 

Source
Expand description

svg-renderer — a high-performance SVG-to-raster renderer powered by Skia.

§Backends

BackendFeatureDescription
CPU(always)Renders via Skia’s raster backend.
Vulkanvulkan-backendGPU-accelerated via Skia’s Vulkan backend.

§Pipeline mode

SvgPipelineRenderer spawns dedicated worker threads for parallel rendering, suitable for throughput-oriented workloads.

§Quick start

use svg_renderer::{SvgRenderer, RenderOptions};

let svg_data = b"<svg xmlns='http://www.w3.org/2000/svg'></svg>";
let opts = RenderOptions::new(800, 600).unwrap();
let mut renderer = SvgRenderer::new().unwrap();
let image = renderer.render_svg(svg_data, &opts).unwrap();
println!("{}x{} RGBA image", image.width, image.height);

Structs§

CpuSvgPipelineRenderer
CPU-based pipeline renderer with multiple dedicated worker threads.
CpuSvgRenderer
CPU-based SVG renderer using Skia’s raster backend.
ImageData
Decoded RGBA pixel data from an SVG render operation.
JpegOptions
JPEG encoding options. JPEG encoding parameters.
RenderOptions
Render options: size, clear color, MSAA sample count. Parameters controlling a single SVG render call.
RenderSize
Render size configuration. Non-zero pixel dimensions for the output raster image.
SvgPipelineRenderer
Auto-selecting pipeline renderer with multiple dedicated worker threads.
SvgRenderer
Auto-selecting SVG renderer.
VulkanSvgPipelineRenderer
Vulkan GPU pipeline renderer with multiple dedicated worker threads.
VulkanSvgRenderer
Vulkan GPU-accelerated SVG renderer using Skia’s Vulkan backend.
WebpOptions
WebP encoding options. WebP encoding parameters.

Enums§

JpegAlphaOption
JPEG alpha handling behavior. How to encode alpha-containing images as JPEG (which has no alpha).
JpegDownsample
JPEG chroma subsampling mode. JPEG chroma subsampling.
RenderBackend
Rendering backend kind.
SvgRenderError
Errors that can occur during SVG rendering.
WebpCompression
WebP compression mode (lossy / lossless). WebP compression mode.

Functions§

render_svg
Convenience: creates an SvgRenderer, renders the SVG to raw RGBA.
render_svg_to_jpeg
Convenience: creates an SvgRenderer, renders the SVG, encodes as JPEG.
render_svg_to_png
Convenience: creates an SvgRenderer, renders the SVG, encodes as PNG.
render_svg_to_webp
Convenience: creates an SvgRenderer, renders the SVG, encodes as WebP.