skia_canvas icon indicating copy to clipboard operation
skia_canvas copied to clipboard

SVG to ImageFormat

Open timonson opened this issue 2 years ago • 2 comments

Is it possible with this library to convert SVGs to PNGs?

Thank you!

timonson avatar Jan 23 '23 14:01 timonson

Not possible right now, but something that is definitely wanted.

DjDeveloperr avatar Jan 23 '23 15:01 DjDeveloperr

Got it working with rsvg_wasm:

import { createCanvas, loadImage } from "https://deno.land/x/canvas/mod.ts";
import { render } from "https://deno.land/x/resvg_wasm/mod.ts";

const svgImage = `...`;

const canvas = createCanvas(1600, 900);
const ctx = canvas.getContext('2d');

// render function from svg string here
const data = await render(svgImage);
const img = await loadImage(data);
ctx.drawImage(img, 0, 0);
const buffer = canvas.toBuffer('image/png');

J

jdgamble555 avatar Jan 16 '24 18:01 jdgamble555