问题描述
我正在尝试使用 pyvista.Plotter()
在 Python 中渲染网格,同时尝试在渲染的网格旁边显示图像。代码目前的形式为
import pyvista as pv
from pyvista import examples
filenames = (['filename1.jpg','filename2.jpg','filename3.jpg',])
mesh = pv.polyData('meshfile.ply')
p = pv.Plotter(shape='1|3')
p.subplot(0)
p.add_mesh(mesh)
t=1
for i in filenames:
p.subplot(t)
p.add_background_image(i)
#p.add_mesh(examples.load_airplane(),show_edges=False)
t +=1
我认为 Plotter.add_background_image()
是使用 PyVista 绘制图像的最便捷方式。 for
循环中注释掉的行实际上产生了正确的排列,但我希望较小的图具有背景图像而不是另一个网格。然而,实际上只显示了最终的图像文件,它是 p.subplot(0)
的背景图像,不应该有背景图像。是否有更方便的方式在 pyvista 3d 渲染窗口旁边显示图像?
解决方法
看着the documentation of Plotter.add_background_image()
:
add_background_image(image_path,scale=1,auto_resize=True,as_global=True)
as_global (bool,optional) – 当存在多个渲染窗口时,设置 as_global=False
将导致背景只出现在一个窗口中。
所以你可能只需要调用这个方法
p.add_background_image(i,as_global=False)