vtkAxesActor的一些使用心得

(这几天在使用vtkAxesActor的时候发现一些问题和解决办法,特此记录一下)

注:

1.VTK版本是8.2.0;

2.主要是设置xyz标注(label)时碰到的问题;

3.如果有其他更好的方式,欢迎在评论区留言.

正文

创建一个坐标轴actor并渲染:

vtkSmartPointer axesActor = vtkSmartPointer::New();
axesActor->SetAxisLabels( 1 ); // 设置显示label

vtkAxesActor的一些使用心得_第1张图片

1.设置标注(vtkCaptionActor2D)字体颜色

在使用的过程中,发现下面方式不起作用:

vtkCaptionActor2D* xAxisCaptionActor = axesActor->GetXAxisCaptionActor2D();
xAxisCaptionActor->GetProperty()->SetColor( 1, 0, 0 );//修改X字体颜色为红色

效果:

vtkAxesActor的一些使用心得_第2张图片

然后经过我研究,下面这种方式是可以实现的:

vtkTextProperty* captionTextProperty = xAxisCaptionActor->GetCaptionTextProperty();
captionTextProperty->SetColor( 1, 0, 0 );

效果:

vtkAxesActor的一些使用心得_第3张图片

 2.设置标注(vtkCaptionActor2D)字体大小

// 方式一和方式二原理一样

// 方式一:
//xAxisCaptionActor->SetPosition2( 0.5, 0.2 );
// 方式二:
xAxisCaptionActor->SetWidth( 0.5 );
xAxisCaptionActor->SetHeight( 0.2 );
// 方式三:
xAxisCaptionActor->GetTextActor()->SetTextScaleModeToNone();
// 默认是SetTextScaleModeToProp,导致设置字体大小不起作用
// SetTextScaleModeToViewport也能起作用
xAxisCaptionActor->GetCaptionTextProperty()->SetFontSize( 70 ); // 字体大小设置为70

效果:

vtkAxesActor的一些使用心得_第4张图片

参考文章:

1. VTK中改变默认的vtkAxesActor坐标轴上X,Y,Z的字体颜色,从白色改为其他颜色_HW140701的博客-CSDN博客

2.VTK 学习----VTK对象-演员类_charce_you的专栏-CSDN博客_vtkactor

你可能感兴趣的:(vtk,vtk,vtkAxesActor)