vtk作為醫學顯示庫,得到較多使用。作為較為上層的設計,對opengl進行了封裝,並且有windows、linux、安卓等開發版本,可移植性較強。
不過ves暫時沒有編譯成功。
以下是嵌入mfc-idc**,有個缺陷,暫時沒能修改。
**:
showpointsinvtk(short* &depthimage, int heightdepth, int widthdepth,int idcx)顯示效果:} printf("%d\n", n);
vtkpolyvertex * polyvertex = vtkpolyvertex::new();
polyvertex->getpointids()->setnumberofids(n);
int i = 0; //建立拓撲關係
for (i = 0; i < n; i++)
vtkunstructuredgrid * grid = vtkunstructuredgrid::new();
grid->setpoints(points);
grid->insertnextcell(polyvertex->getcelltype(),
polyvertex->getpointids());
map1->setinputdata(grid);
vtkactor *actor1 = vtkactor::new();
actor1->getproperty()->setcolor(0.194, 0.562, 0.75);
vtkrenderer *ren = vtkrenderer::new();
ren->addactor(actor1);
ren->setbackground(0, 0, 0);
//renwin和iren分別是vtkwin32openglrenderwindow, vtkwin32renderwindowinteractor
vtkwin32renderwindowinteractor *iren = vtkwin32renderwindowinteractor::new();
vtkwin32openglrenderwindow *win = vtkwin32openglrenderwindow::new();
vtkinteractorstyletrackballcamera *style = vtkinteractorstyletrackballcamera::new();
win->clean();
win->setsize(480, 360);
win->borderson();
win->addrenderer(ren);
iren->setrenderwindow(win);
iren->setinteractorstyle(style);
//搭上乙個顯示用的mfc視窗框架。
cwnd *viewer_wnd;
viewer_wnd = this->getdlgitem(idcx);
hwnd hwnd = (hwnd)viewer_wnd->m_hwnd;
hwnd hparent = ::getparent(hwnd);
//::showwindow(hparent, sw_hide);
::showwindow(hparent, 1);
win->setparentid(this->m_hwnd);
iren->start();
map1->delete();
grid->delete();
actor1->delete();
polyvertex->delete();
ren->delete();
win->delete();
iren->delete();
return 1;
}
注意事項:
使用
iren->start();導致renter不能更行,修改為以下**可以完成動態更新:
把 render和win放在初始對話方塊初始化,其他**修改為:
this->win->render();
//在 對話方塊初始化時初始化render後記:效果還不錯,就是和opencv結合時有點麻煩,命名空間衝突。inline int ciisu2vrmfcsdlg::showpointsinvtkg(short* &depthimage, int heightdepth, int widthdepth, int idcx)
} vtkpolyvertex * polyvertex = vtkpolyvertex::new();
polyvertex->getpointids()->setnumberofids(n);
int i = 0;
//建立拓撲關係
for (i = 0; i < n; i++)
vtkunstructuredgrid * grid = vtkunstructuredgrid::new();
grid->setpoints(points);
grid->insertnextcell(polyvertex->getcelltype(),
polyvertex->getpointids() );
map->setinputdata(grid);
vtkactor *actorg = vtkactor::new();
actorg->getproperty()->setcolor(0.194, 0.562, 0.75);
vtkrenderer *ren = vtkrenderer::new();
ren->addactor(actorg);
ren->setbackground(0.13, 0.40, 0.15);
this->win->addrenderer(ren);
this->win->render();//自己寫乙個過載-更新函式!
map->delete();
grid->delete();
actorg->delete();
polyvertex->delete();
return 1;
}
VTK VTK嵌入MFC成功
vtk作為醫學顯示庫,得到較多使用。作為較為上層的設計,對opengl進行了封裝,並且有windows linux 安卓等開發版本,可移植性較強。不過ves暫時沒有編譯成功。以下是嵌入mfc idc 有個缺陷,暫時沒能修改。showpointsinvtk short depthimage,int h...
在MFC中嵌入Word
摘要正文 一 引言 microsoft office辦公套件以其功能強大 方便實用而被廣泛使用。我們可以使用自動化作為word用以把其功能顯露給其他應用的方式,採用這種方式可以盡可能少的占用自動化客戶的資源,並且不需要被訪問物件的型別資訊就可以進行呼叫。二 建立工程 以下是建立這個mfc應用程式的步...
嵌入CEF到MFC程式
公司專案中一直存在著乙個chtmlview模組來顯示url,但是隨著web頁面的更新 加入html5 and 其它一些比較新的技術 越來越發現使用chtmlview已經無法滿足目前的需求。開始還是試著去修改一些東西去滿足當前需要,不過好景不長終於有一天chtmlview連我們目前的web頁面都打不開...