C# 如何在右上角定位vtkActor2D?

C# 如何在右上角定位vtkActor2D?,c#,vtk,C#,Vtk,如何相对于渲染窗口的右上角定位vtkActor2D?我正在使用以下代码加载图像,并将其作为覆盖显示在我的3D场景中: vtkPNGReader=vtkPNGReader.New(); SetFileName(“image.png”); pngReader.Update(); vtkimageapper imageMapper=vtkimageapper.New(); SetInputConnection(pngReader.GetOutputPort()); imageMapper.SetCol

如何相对于渲染窗口的右上角定位
vtkActor2D
?我正在使用以下代码加载图像,并将其作为覆盖显示在我的3D场景中:

vtkPNGReader=vtkPNGReader.New();
SetFileName(“image.png”);
pngReader.Update();
vtkimageapper imageMapper=vtkimageapper.New();
SetInputConnection(pngReader.GetOutputPort());
imageMapper.SetColorWindow(255);
imageMapper.SetColorLevel(127.5);
vtkActor2D imageActor=vtkActor2D.New();
设置映射器(imageMapper);
vtkrender renderer=renderWindowControl1.RenderWindow.GetRenderers().GetFirstRenderer();
renderer.AddActor2D(imageActor);
我知道我可以用

imageActor.SetPosition(42,42);

当然,这是相对于左下角的。因此,如何指定图像是相对于渲染窗口的右上角绘制的(分别位于右上角),并且即使在调整渲染窗口的大小期间也保持在其相对位置?我在互联网上搜索了几个小时,但都找不到任何提示。

您可以在vtkRenderWindow上观察ModifiedEvent,并检查其GetSize方法返回的值是否与上次观察事件时的值不同。然后可以使用GetSize-[your position]设置演员的坐标