【发布时间】:2021-11-17 16:33:12
【问题描述】:
我正在尝试从 SVG 文件创建位图,但出现以下错误:
Uncaught (in promise) DOMException: The source image could not be decoded.
我正在使用以下代码:
const response = await fetch(MARKER_PATH);
const svgStr = await response.text();
const svgBlob = new Blob([svgStr], { type: 'image/svg+xml' });
this.marker = await createImageBitmap(svgBlob);
可以在link 找到标记代码。 SVG 是有效的(或者我认为)。我可以正确地看到它,如果我在画布上绘制图像,那么它可以完美地工作,所以我不知道它为什么会失败。
我认为可能与编码有关,但这也没有意义,因为 SVG 可以在其他环境中正确加载。知道发生了什么吗?
【问题讨论】:
-
在一些 id 值中有一些相当不寻常的字符。
-
您得到的错误是因为如果 ids 中有奇怪的字符。除此之外,我正在努力让
createImageBitmap()使用 SVG,即使它应该是可能的,因为我读到了createImageBitmap() - Web APIs | MDN。
标签: javascript svg html5-canvas blob imagebitmap