vtk 5.x版本显示中文是一个比较困难的问题,基本上需要修改底层代码。
从Vtk 6.1开始,其实中文支持已经不是大问题了。VTK开始支持使用指定的ttf字体文件进行显示了。
关键是两个问题:
- 文字使用utf-8格式,比如
textActor.SetInput()
- 对vtkTextProperty直接指定使用中文字体文件,比如,simhei.ttf
vtkTextProperty *tprop = …;
tprop->SetFontFamily(VTK_FONT_FILE);
tprop->SetFontFile(“/path/to/some/font/file.ttf”);
这样,就可以支持显示中文字体了。