vtk7.1+vs2010 运行实例2

来源:互联网 发布:哥们诛神法宝升级数据 编辑:程序博客网 时间:2024/06/13 21:16

建立Chapo2文件,根目录下有:

1.CMakeLists.txt文件

cmake_minimum_required(VERSION 3.1)
PROJECT(second)
find_package(VTK REQUIRED) include(${VTK_USE_FILE})
add_executable(second MACOSX_BUNDLE second.cxx )
target_link_libraries(second ${VTK_LIBRARIES})

2.second.cxx

#include<vtkSmartPointer.h>
#include<vtkRenderWindow.h>
#include<vtkPlaneSource.h>
#include<vtkActor.h>
#include<vtkJPEGReader.h>
#include<vtkPolyDataMapper.h>
#include<vtkRenderer.h>
#include "vtkRenderWindowInteractor.h"
#include "vtkProperty.h"

int main (int argc, char *argv[])
{
vtkSmartPointer<vtkJPEGReader>reader=vtkSmartPointer<vtkJPEGReader>::New();
reader->SetFileName("..\\download.jpg");//读取图片


vtkSmartPointer<vtkTexture>texture=vtkSmartPointer<vtkTexture>::New();
texture->SetInputConnection(reader->GetOutputPort());
texture->InterpolateOn();//存储图片到texture


vtkSmartPointer<vtkPlaneSource>plane=vtkSmartPointer<vtkPlaneSource>::New();
vtkSmartPointer<vtkPolyDataMapper>mapper=vtkSmartPointer<vtkPolyDataMapper>::New();
mapper->SetInputConnection(plane->GetOutputPort());//设置接口



vtkSmartPointer<vtkActor>actor=vtkSmartPointer<vtkActor>::New();
actor->SetMapper(mapper);
actor->SetTexture(texture);//传入参数给actor


vtkSmartPointer<vtkRenderer>render=vtkSmartPointer<vtkRenderer>::New();
render->AddActor(actor);
render->SetBackground(0.1,0.2,0.3);//设置渲染背景

vtkSmartPointer<vtkRenderWindow>renwin=vtkSmartPointer<vtkRenderWindow>::New();
renwin->AddRenderer(render);
renwin->SetSize(300,300);//设置渲染窗口大小


vtkSmartPointer<vtkRenderWindowInteractor>move=vtkSmartPointer<vtkRenderWindowInteractor>::New();
move->SetRenderWindow(renwin);
move->Initialize();//初始化
move->Start();//启动。没有这两句。程序运行完是不会出现任何东西的。


}
/*新建项目后,需要配置项目属性
1.修改项目-属性-配置属性-调试 的工作目录为\bin\Debug
2.修改项目-属性-配置属性-调试 的环境为”PATH=%PATH%;\bin\Debug”
这两项必备
3.构建完项目之后(除非有多个项目,不然),在解决方案里删除除了项目名对应的项目外的其他选项,否则找不到ALL.build.
4.不要试图修改图片的路径为绝对路径,不然报错。调试可以通过,会出现警告。
*/

运行结果:


参考图书:《vtk图形图像开发进阶》,感谢。