2011-07-27 118 views
4

如何保存圖像(如流程圖)在Qt4.7(graphicalcene)的QGraphicScene示例中繪製,以便下次重新繪製程序後重繪,或可以在其他程序中使用。保存QGraphicsScene圖像

回答

3

假設你不只是想將場景的光柵保存到png中。

通常情況下,您希望場景中的對象具有自己的保存和恢復功能,以保存對象的屬性。您可以通過序列化的對象來操作QDataStream,然後存儲該QDataStream在文件中加載早在做這個

例如在多邊形是我自己的等級:

foreach (QGraphicsItem* currentItem, sceneItems) 
{ 
    data << (int)PolygonItem::Type; 
    PolygonItem* item = qgraphicsitem_cast<PolygonItem*>(currentItem); 
    item->save(data); 
} 

如果你是隻想PNG或JPEG那麼它的簡單:

QImage image = selectedScene->toImage(size); 
image.save(fileName); 
+0

謝謝你,我的想法,我想你在第一個例子所示,以便其他程序可以重繪此圖像,以及一些自定義屬性(比如我會喜歡添加一些文字,一些條件的流程圖)也會隨着那張圖片完好無損,讓我哈哈已經爲操作符<<編寫了我自己的函數,用於序列化。 – anj