0

按照此处的代码,可以获取粒度 vtkPolyData 以在 python 中传递给 k3d。但是,我目前正在像这样为 k3d 分配颜色;

def rgb2hex(r,g,b):
     return eval("0x{:02x}{:02x}{:02x}".format(r,g,b))

#using the actors from [referenced code][1] to get the granular actors from .OBJ
col = actor.GetProperty().GetDiffuseColor()
rgb2hex(int(col[0]*255),int(col[1]*255),int(col[2]*255))

这是丑陋和低效的。vtkPolyDataMapper 应该已经在处理颜色了,所以必须有一种更直接的方式来做这件事。如何使用 vtkPolyDataMapper 获取要通过管道传输到 k3d.vtk_poly_data() 颜色参数的颜色列表?

mapper = actor.GetMapper() 
mapper.SetInputData(vtkPolyData)
4

1 回答 1

1

VTK 本身并不0xrrggbb为颜色提供这种格式 ( )。您总是必须处理 3 分量浮点数或整数。

于 2020-09-22T08:15:50.113 回答