vtk的vtkRenderWindowInteractor中的Initialize函數初始化了可交互的窗口,但是實際工程中,往往需要把窗口拿出來在別的頁面上顯示,如存為png圖片等等。具體方法可看vtkRenderWindow類介紹。
本文主要介紹如何截取當前窗口的畫面。
//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類即可。
另外有需要云服務器可以了解下創新互聯scvps.cn,海內外云服務器15元起步,三天無理由+7*72小時售后在線,公司持有idc許可證,提供“云服務器、裸金屬服務器、高防服務器、香港服務器、美國服務器、虛擬主機、免備案服務器”等云主機租用服務以及企業上云的綜合解決方案,具有“安全穩定、簡單易用、服務可用性高、性價比高”等特點與優勢,專為企業上云打造定制,能夠滿足用戶豐富、多元化的應用場景需求。
文章標題:如何截取VTK中window的場景-創新互聯
當前鏈接:http://vcdvsql.cn/article28/dgoecp.html
成都網站建設公司_創新互聯,為您提供Google、建站公司、App開發、自適應網站、商城網站、移動網站建設
聲明:本網站發布的內容(圖片、視頻和文字)以用戶投稿、用戶轉載內容為主,如果涉及侵權請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網站立場,如需處理請聯系客服。電話:028-86922220;郵箱:631063699@qq.com。內容未經允許不得轉載,或轉載時需注明來源: 創新互聯