VTK可视化工具包之旅02-从一个窗口开始

407 阅读1分钟

首先我们会有一个窗口,但是这个窗口的话呢,我们也是要了解关于这个窗口的很多细节的。比如我们能够修改这个窗口的背景色,将背景设置为渐变颜色。然后将窗口全屏展示。

创建一个窗口

#include <vtkRenderWindow.h>
#include <vtkSmartPointer.h>
#include "vtkRenderer.h"

#include "vtkAutoInit.h" 
VTK_MODULE_INIT(vtkRenderingOpenGL2);
VTK_MODULE_INIT(vtkInteractionStyle);
VTK_MODULE_INIT(vtkRenderingVolumeOpenGL2);

int main() {
    vtkRenderWindow* renWin = vtkRenderWindow::New();
    // 窗口大小
    renWin->SetSize(640, 480);
    // 设置标题
    renWin->SetWindowName("哥们在这给你说唱");
    renWin->Render();
    system("pause");
    renWin->Delete();
    return EXIT_SUCCESS;
}

给窗口添加背景颜色

#include <vtkRenderWindow.h>
#include <vtkSmartPointer.h>
#include "vtkRenderer.h"

#include "vtkAutoInit.h" 
VTK_MODULE_INIT(vtkRenderingOpenGL2);
VTK_MODULE_INIT(vtkInteractionStyle);
VTK_MODULE_INIT(vtkRenderingVolumeOpenGL2);

int main() {
    // 定义窗口
    vtkRenderWindow* renWin = vtkRenderWindow::New();
    // 定义渲染器
    vtkRenderer* ren1 = vtkRenderer::New();
    ren1->SetBackground(0.1, 0.2, 0.4);
    // 窗口大小
    renWin->SetSize(640, 480);
    // 设置标题
    renWin->SetWindowName("WindowName");
    renWin->AddRenderer(ren1);
    renWin->Render();
    system("pause");
    renWin->Delete();
    return EXIT_SUCCESS;
}

给窗口添加渐变背景色

#include <vtkRenderWindow.h>
#include <vtkSmartPointer.h>
#include "vtkRenderer.h"
#include "vtkAutoInit.h" 
VTK_MODULE_INIT(vtkRenderingOpenGL2);
VTK_MODULE_INIT(vtkInteractionStyle);
VTK_MODULE_INIT(vtkRenderingVolumeOpenGL2);

int main() {
    // 定义窗口
    vtkRenderWindow* renWin = vtkRenderWindow::New();
    // 定义渲染器
    vtkRenderer* ren1 = vtkRenderer::New();
    ren1->SetBackground2(0.529, 0.8078, 0.92157);
    ren1->SetBackground(0.1, 0.2, 0.4);
    ren1->SetGradientBackground(1);
    // 窗口大小
    renWin->SetSize(640, 480);
    // 设置标题
    renWin->SetWindowName("WindowName");
    renWin->AddRenderer(ren1);
    renWin->Render();
    system("pause");
    renWin->Delete();
    return EXIT_SUCCESS;
}

VTK设置全屏窗口

#include <vtkRenderWindow.h>
#include <vtkSmartPointer.h>
#include "vtkRenderer.h"

#include "vtkAutoInit.h" 
VTK_MODULE_INIT(vtkRenderingOpenGL2);
VTK_MODULE_INIT(vtkInteractionStyle);
VTK_MODULE_INIT(vtkRenderingVolumeOpenGL2);

#define vtkRenderingCore_AUTOINIT 4(vtkInteractionStyle,vtkRenderingFreeType,vtkRenderingFreeTypeOpenGL2,vtkRenderingOpenGL2)
#define vtkRenderingVolume_AUTOINIT 1(vtkRenderingVolumeOpenGL2)


int main() {
    // 定义窗口
    vtkRenderWindow* renWin = vtkRenderWindow::New();
    // 定义渲染器
    vtkRenderer* ren1 = vtkRenderer::New();
    ren1->SetBackground2(0.529, 0.8078, 0.92157);
    ren1->SetBackground(0.1, 0.2, 0.4);
    ren1->SetGradientBackground(1);
    // 设置标题
    renWin->SetFullScreen(true);
    renWin->SetBorders(true);
    renWin->AddRenderer(ren1);
    renWin->Render();
    
    system("pause");
    renWin->Delete();
    return EXIT_SUCCESS;
}