VPython 7纹理未从自定义目录加载
我在VPython 7纹理未从自定义目录加载,python,python-3.x,directory,vpython,Python,Python 3.x,Directory,Vpython,我在vpython7中从事一个小项目;Python 3.6,其中纹理需要应用于我的3D对象。但是,当我尝试在中加载纹理时,对象不会出现,直到我将纹理放置在Lib\site packages\vpython\vpython\u data文件夹中,在该文件夹中它完全加载,没有任何问题 然而,对于我的项目,我需要它在我选择的目录中,以便于组织 让我们用我的纹理Tex调用目录C:\Project/Tex.jpg textures.customTex={'file':“:Tex.jpg”} self.3D
vpython7中从事一个小项目;Python 3.6,其中纹理需要应用于我的3D对象。但是,当我尝试在中加载纹理时,对象不会出现,直到我将纹理放置在Lib\site packages\vpython\vpython\u data
文件夹中,在该文件夹中它完全加载,没有任何问题
然而,对于我的项目,我需要它在我选择的目录中,以便于组织
让我们用我的纹理Tex调用目录C:\Project
/Tex.jpg
textures.customTex={'file':“:Tex.jpg”}
self.3DObject=sphere(pos=vector(0,0,0),radius=1,texture=textures.Tex)
如果纹理是/vpython_data
目录,则上述操作将起作用
但是,当我尝试加载目录中的相同纹理时:
textures.customTex={'file':“:C:\Project\Tex.jpg”}
self.3DObject=sphere(pos=vector(0,0,0),radius=1,texture=textures.Tex)
上述方法行不通
我的问题是,如果我加载错误,是否存在此问题,或者是否根本没有解决此问题的方法
提前谢谢你我不太明白你用冒号,但有个问题。我做了一个实验,将一个图像放到C:\cabinet.jpg并执行
框(texture='C:\cabinet.jpg')
此操作失败,如果打开浏览器调试器,您将看到以下错误消息:
不允许加载本地资源:file:///C:/cabinet.jpg
这与CORS问题、跨来源资源共享有关
另一方面,可以从“启用CORS”的站点获取图像。这项工作:
框(纹理=“”)
不过,感谢您的报道,因为我想我可能会找到一种让本地文件正常工作的方法
布鲁斯·舍伍德
另外,最好将VPython问题发布到VPython论坛,那里的VPython用户比可能看到stackoverflow问题的用户多得多。如果您在Jupyter笔记本中运行此功能,并且图像所在的目录是笔记本所在目录的子目录,则它将正常工作。例如,如果在与包含Tex.jpg文件的笔记本相同的目录中有图像目录,那么这将起作用
self.3DObject=sphere(pos=vector(0,0,0),radius=1,texture=“images\Tex.jpg”)根据您所说的,我搜索了加载文件,例如Chrome为了安全原因专门阻止了本地文件访问,因此没有加载纹理,错误在浏览器中。谢谢你的帮助!这很有帮助,约翰。我将把它添加到VPython文档中。