Извлеките SVG как изображение из кода без использования async / обещания - PullRequest
0 голосов
/ 23 марта 2020

Я пытаюсь преобразовать SVG в изображение в виде строки base64.

После этого все это работает с функцией image.onLoad.

Преобразование SVG в изображение (JPEG, PNG и т. Д. c.) В браузере

Есть ли способ сделать это без onLoad? Я не рендерил это на экране или что-то еще, и асин c природа этого делает код ужасным.

В настоящее время у меня есть это

    return new Promise((resolve) => {
        const image = new Image();
        image.onload = () => {
            context.clearRect(0, 0, width, height);
            context.drawImage(image, 0, 0, width, height);
            // snapshot canvas as png
            const pngData = canvas.toDataURL("image/png");
            // resolve the promise with the pngData
            resolve(pngData.split(",")[1]);
        };
        image.src = svgData;
    });

Но было бы здорово, если бы Я мог бы просто напрямую преобразовать svgData в данные изображения.

Спасибо

...