如何自定义vtkTextActor显示字体(VTK 6.1)

时间:2016-10-11 09:36:42

标签: c++ fonts vtk

众所周知,VTK文本支持3种字体,分别是VTK_ARIAL,VTK_COURIER和VTK_TIMES。但在这种情况下,我想自定义文本字体。

现在,我所做的一切都是:

vtkTextActor* textActor = vtkTextActor::New();
//...  
vtkUnicodeString u = vtkUnicodeString::from_utf16((const    vtkTypeUInt16*)txt);     
textActor->SetInput(u.utf8_str());      
//...    
vtkTextProperty* prop = textActor->GetTextProperty();    
prop->SetFontFamily(VTK_FONT_FILE);     
prop->BoldOff();
prop->ItalicOff();  
prop->ShadowOff();  
prop->SetLineSpacing(1.2);     
//...    
prop->SetFontSize(iFontSize);  
prop->SetFontFile(font_file_full_path);

我的系统上安装了很多字体(真实字体),上面的代码只适用于某些指定字体大小的字体。比如,它支持 ' Calibric'文件大小为8,14,16的字体,但如果将iFontSize设置为12,则vtk无法显示该字符串。

所以我的问题是vtk 6.1不支持我系统上安装的各种真实字体吗?如果是这种情况,是否有任何功能我可以用来检查是否支持一种字体/字体大小?

先谢谢你的帮助。

0 个答案:

没有答案