diff --git a/lib/png/generate_png.js b/lib/png/generate_png.js index 8c1c40806..31cf1e439 100644 --- a/lib/png/generate_png.js +++ b/lib/png/generate_png.js @@ -1,18 +1,18 @@ -async (imgString) => { +async ({imgString, scale}) => { const tempImg = new Image(); const loadImage = () => { return new Promise((resolve, reject) => { tempImg.onload = (event) => resolve(event.currentTarget); tempImg.onerror = () => { - reject("error loading string as an image"); + reject("error loading string as an image:\n" + imgString); }; tempImg.src = imgString; }); }; const img = await loadImage(); const canvas = document.createElement("canvas"); - canvas.width = img.width * 2; - canvas.height = img.height * 2; + canvas.width = img.width * scale; + canvas.height = img.height * scale; const ctx = canvas.getContext("2d"); if (!ctx) { return new Error("could not get canvas context"); diff --git a/lib/png/png.go b/lib/png/png.go index ecb13c5a4..c0cc23687 100644 --- a/lib/png/png.go +++ b/lib/png/png.go @@ -95,7 +95,10 @@ func ConvertSVG(ms *xmain.State, page playwright.Page, svg []byte) ([]byte, erro defer cancel() encodedSVG := base64.StdEncoding.EncodeToString(svg) - pngInterface, err := page.Evaluate(genPNGScript, "data:image/svg+xml;charset=utf-8;base64,"+encodedSVG) + pngInterface, err := page.Evaluate(genPNGScript, map[string]interface{}{ + "imgString": "data:image/svg+xml;charset=utf-8;base64," + encodedSVG, + "scale": int(SCALE), + }) if err != nil { return nil, fmt.Errorf("failed to generate png: %w", err) }