專案中需要將渲染結果匯出為圖片。
(1) 一開始搜了vtk的方法,發現:
http://blog.csdn.net/lbluekey/article/details/3346312
中,使用了 vtkJPEGWriter、 vtkBMPWriter 、vtkTIFFWriter、 vtkPNGWriter 對vtkRenderWindow 進行結果匯出。在我的機子上,程式碼可以執行,但匯出的.jpg、.png圖片都提示”格式損壞“,而無法開啟,只有 .bmp 正常。查看了之前編譯的vtk原始碼,發現vtkpng \vtkjpg 兩個專案均正常編譯,匯出lib和dll正常。google了好久,也沒有解決。
(2) 按老大提醒, 由於繪製結果放在QVTKWidget中,本質上是一個QWidget,因此可以使用 QPixmap的截圖方法,直接將該結果匯出為QPixmap物件,然後使用其save()方法,儲存為任意想要的格式,程式碼如下:
QPixmap pixmap = QPixmap::grabWidget(this);
pixmap.save("result.bmp");
// pixmap.save("result.jpg");
// pixmap.save("result.png");
問題解決。