2 回答
TA贡献1803条经验 获得超3个赞
您是对的,因为CORS错误来自WebGL的fromPixels()方法。
有两种解决方法。
首先,您可以使用以下功能向服务器请求权限
function requestCORSIfNotSameOrigin(img, url) {
if ((new URL(url)).origin !== window.location.origin) {
img.crossOrigin = ""; //this requests permission from the server
}
}
并像这样使用它:
...
requestCORSIfNotSameOrigin(img, url);
img.src = url;
请注意,某些服务器可能不授予权限。 在此处阅读有关WebGL CORS错误的更多信息。
如果您想测试代码而不出现此错误,则可以运行本地服务器
$ python3 -m http.server [port]
而且您不会收到CORS错误。
TA贡献1779条经验 获得超6个赞
我的猜测是fromPixels()方法会导致CORS错误,但我不确定是否确实如此。
是的,这是正确的,因此您需要使用相对路径,而不要使用 file://
关于<img>元素,如果看一下文档,.fromPixels()您会发现它支持多种类型的像素格式:
pixel(ImageData | HTMLImageElement | HTMLCanvasElement | HTMLVideoElement)用于构造张量的输入图像。支持的图像类型均为4通道。
一种是HTMLImageElement,您可以简单地将-<img>元素传递给.fromPixels()。
添加回答
举报
