gpt4 book ai didi

c# - 如何在右上角放置一个 vtkActor2D?

转载 作者:行者123 更新时间:2023-11-30 21:09:07 26 4
gpt4 key购买 nike

如何将 vtkActor2D 定位到渲染窗口的右上角?我正在使用以下代码加载图像并将其显示为我的 3D 场景上的叠加层:

vtkPNGReader pngReader = vtkPNGReader.New();
pngReader.SetFileName("image.png");
pngReader.Update();

vtkImageMapper imageMapper = vtkImageMapper.New();
imageMapper.SetInputConnection(pngReader.GetOutputPort());
imageMapper.SetColorWindow(255);
imageMapper.SetColorLevel(127.5);

vtkActor2D imageActor = vtkActor2D.New();
imageActor.SetMapper(imageMapper);

vtkRenderer renderer = renderWindowControl1.RenderWindow.GetRenderers().GetFirstRenderer();
renderer.AddActor2D(imageActor);

我知道我可以使用设置 Actor 的位置

imageActor.SetPosition(42, 42);

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

最佳答案

您可以观察 vtkRenderWindow 上的 ModifiedEvent 并检查其 GetSize 方法返回的值是否与您上次观察该事件时不同。然后你可以使用 GetSize - [你的位置] 来设置你的 Actor 的坐标。

关于c# - 如何在右上角放置一个 vtkActor2D?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9216211/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com