如何截取VTK中window的场景

原创 2016年06月01日 09:32:29

vtk的vtkRenderWindowInteractor中的Initialize函数初始化了可交互的窗口,但是实际工程中,往往需要把窗口拿出来在别的页面上显示,如存为png图片等等。本文主要介绍如何截取当前窗口的画面。

//renWin:当前活动窗口;
//pdata:截图后返回的数据指针,RGBA,32位,存储格式为RGBARGBA....
//maxlen: 防止pdata开辟的空间不够
bool GetOutput(vtkRenderWindow *renWin,unsigned char* pdata, int maxlen)
{
    int w = renWin->GetSize()[0];
    int h = renWin->GetSize()[1];
    if (maxlen<w*h * 4)
        return false;
    vtkSmartPointer<vtkUnsignedCharArray> pixels = vtkSmartPointer<vtkUnsignedCharArray>::New();
    pixels->SetArray(pdata, w*h * 4, 1);
    renWin->GetRGBACharPixelData(0, 0, h - 1, w - 1, 1, pixels);
    return true;
}

通过上述代码可以截取所需窗口的当前场景,除此方式外,也可以存为png格式只需调用vtk的png类即可。

VTK实现图片输出

VTK实现图片输出比较简单,有如下两个步骤:1.将VTK窗口内容转换为图片数据。 vtkWin32OpenGLRenderWindow window = new vtkWin32OpenGLRende...
  • lbluekey
  • lbluekey
  • 2008年11月21日 15:45
  • 1676

如何截取VTK中window的场景

vtk的vtkRenderWindowInteractor中的Initialize函数初始化了可交互的窗口,但是实际工程中,往往需要把窗口拿出来在别的页面上显示,如存为png图片等等。本文主要介绍如何...
  • haochengd
  • haochengd
  • 2016年06月01日 09:32
  • 569

vtk读写和创建点之间的connectivity实例

  • 2015年05月24日 17:37
  • 84KB
  • 下载

VTK修炼之道8_三维场景基本要素:相机

1.VTK中相机原理及控制属性 观众的眼睛就好比三维渲染场景中的相机,VTK则是用vtkCamera类来表示三维渲染场景中的相机。vtkCamera负责把三维场景投影到二维平面,如屏幕、图像...
  • shenziheng1
  • shenziheng1
  • 2016年11月17日 10:41
  • 895

vtk三维场景基本要素

1. 灯光 VTK中用 vtkLight 代表现实场景中的灯光。 vtkLight 分为聚光灯和方向灯。聚光灯为点光源,方向灯为平行光源。 默认地,vtkLight的实例是平行光源。即,...
  • u012176176
  • u012176176
  • 2016年05月23日 18:26
  • 877

OpenCV从AVI视频提取图片

使用OpenCV提取AVI里的视频(不限制avi格式,只要opencv支持的格式都行,同样来源也可以是摄像头),每隔几帧保存一张。1.使用cvGrabFrame()+cvRetrieveFrame()...
  • Augusdi
  • Augusdi
  • 2013年09月04日 11:37
  • 8386

使用kindeditor直接粘贴本地图片或者是qq截图

最近在使用kindeditor粘贴图片,突然发现可以直接使用Ctrl+V向里面粘贴。这个时候控件会把图片转成data:image 比如: 它会转成: 就可以直接保存到数据库了!...
  • boylong12
  • boylong12
  • 2015年06月11日 18:03
  • 18853

VTK+MFC 系列教程 非常强大

介绍了基于VTK的单文档应用程序开发,并以图像重采样为例,实现了一个简单的图像重采样的应用程序。对于多文档应用程序,与单文档应用程序基本一致,这里就不再讲述。对话框应用程序是MFC应用程序中一个使用非...
  • wishchin
  • wishchin
  • 2013年09月27日 12:58
  • 3361

VTK修炼之道13:数据读写_图像数据的读写

1.前言 VTK应用程序所需的数据可以通过两种途径获取: 第一种是生成模型 ;第二种是从外部存储介质里导入相关的数据文件,(如vtkBMPReader读取 BMP图像) 。VTK 也可以将程序中处...
  • shenziheng1
  • shenziheng1
  • 2017年01月15日 12:19
  • 1282

EPM几个批量导入的操作小结

1.批量导出、导入维度成员 2.批量导出、导入权限 3.批量导出、导入任务列表...
  • ye1142262478
  • ye1142262478
  • 2015年05月21日 17:53
  • 588
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:如何截取VTK中window的场景
举报原因:
原因补充:

(最多只允许输入30个字)