【发布时间】:2022-11-04 14:56:12
【问题描述】:
所以我试图将这些网址之一加载到new Image,但它们似乎都没有加载。我有一个 image.onload 功能,但它没有去那里。但是,如果我删除 image.crossOrigin,它就可以工作。但问题是如果我删除了 crossOrigin。我将在 onload 中的函数中收到画布污染错误。
这是一个示例 jsfiddle:https://jsfiddle.net/p3b7y8ns/2/
const corrupt_svg = 'https://files.23point5.com/file?path=/artist-library/5119c74c-
c072-4913-9dca-89b616306f1c.svg'
const fixed_svg = 'https://dev-files.23point5.com/file?path=/artist-library/aaa4f68f-
02f1-49a4-bf21-fc3c54a28d23.svg'
const normal_image ='https://dev-files.23point5.com/file?path=/artist-
library/865a8f92-5c5b-466e-96e5-04a668bc3294.jpeg'
console.log('running')
const image = new Image()
image.crossOrigin = 'Anonymous'
image.onload = () => {
console.log('loaded')
console.log("image", image);
const canvas = document.createElement("canvas");
canvas.width = image.naturalWidth;
canvas.height = image.naturalHeight;
const ctx = canvas.getContext("2d");
ctx.drawImage(image, 0, 0, canvas.width, canvas.height);
console.log("canvas", canvas);
canvas.toDataURL();
}
image.src = normal_image
【问题讨论】:
标签: javascript image svg canvas cors