使用vtk的C# warp 版本 ActiViz.net之vtkRenderWindow。
1.首先寫個派生於UserControl下的一個自訂控制項,用來host vtkRenderWindow
代碼如下:
public partial class WinFormPaneFrame : UserControl { public WinFormPaneFrame() : base() { InitializeComponent(); } }
2. 在 建構函式中,添加vtkRenderWindow類的實現,並設定其父視窗時該控制項。設定該renderWindow視窗的size 和控制項的尺寸一致。啟動該renderWindow
代碼如下:
this._RenderWindow = vtkRenderWindow.New(); this._Renderer = vtkRenderer.New(); this._Renderer.SetBackground(0.2, 0.2, 0.2); this._RenderWindow.AddRenderer(this._Renderer); this._RenderWindow.SetParentId(this.Handle); this._RenderWindow.SetSize(this.Size.Width, this.Size.Height); this._RenderWindow.Start();
3. 保持vtkRenderWindow的視窗大小和使用者控制項的大小一致。相應OnSizeCHanged事件,設定renderWindow的size
代碼:
private void UserControlPaneFrame_SizeChanged(object sender, EventArgs e) { this._RenderWindow.SetSize(this.Size.Width, this.Size.Height); }