我正在使用 vtkTexturedActor2D 和 vtkImageMapper 来显示 2D 图像。我可以用
actor.GetPositionCoordinate().SetCoordinateSystemToNormalizedDisplay();
actor.this.Actor.SetPosition(0.5, 0.9);
将图像放置在窗口的中心,但它不是居中对齐的。图像的一角位于中心。如何将图像居中对齐,以使图像的中心位于窗口的中心?
我正在使用 vtkTexturedActor2D 和 vtkImageMapper 来显示 2D 图像。我可以用
actor.GetPositionCoordinate().SetCoordinateSystemToNormalizedDisplay();
actor.this.Actor.SetPosition(0.5, 0.9);
将图像放置在窗口的中心,但它不是居中对齐的。图像的一角位于中心。如何将图像居中对齐,以使图像的中心位于窗口的中心?
我有同样的问题。
这似乎解决了它:
float height, width;
this->d_actor->GetPositionCoordinate()->SetCoordinateSystemToNormalizedViewport();
this->d_actor->GetPositionCoordinate()->SetViewport(this); // Without this was getting weird results
height = this->d_actor->GetHeight();
width = this->d_actor->GetWidth();
this->d_actor->GetPositionCoordinate()->SetValue(.5 - width/2.0, .5 - height/2.0);