2010-12-20 112 views
2

如果我的問題有些含糊,我很抱歉。自從我對Qt做了任何事情之後已經過去了幾年,而當時我從未做過任何奇特的圖像。我在下面要求的僅僅是關於哪些類考慮使用的一般性建議。我試圖避免從一開始就咆哮錯誤的樹。在Qt中的可滾動,可縮放圖像上繪圖

這種情況:我正在寫一個基於Qt的程序,其中我需要顯示一個有點大(比方說5000x5000)光柵圖像。用戶應該能夠縮放(快速)進出,並以類似於Google地圖的方式平移圖像。到目前爲止,這與the Qt ImageViewer example沒有什麼不同,除了可能需要快速縮放的情況。但是,我需要在圖像頂部繪製50k簡單幾何形狀(讓我們說圈子)的順序,並且能夠以簡單的方式添加和移除其中的一些。無論縮放級別如何,這些圓應具有相同的大小,因此應該在用戶縮放時重繪,或者應該用矢量圖形繪製。將這些圓視爲地圖註釋。這些應該在任何縮放級別看起來都一樣,並且在平移方面也表現得很好。

我想我的問題是雙重的:

  1. 可以Qt的借鑑光柵圖像的頂部矢量圖形?
  2. 一般來說,我應該考慮上面哪些類?

在此先感謝。我不喜歡自己回答模糊的問題,但也許有Qt的圖形功能經驗的人有一個答案。

回答

5

我建議你使用QGraphicsView和這個朋友。它有助於處理所有的視圖/世界變換,矢量項可以通過各種QGraphicsItems來實現。

只要縮放級別發生變化以保持恆定的表觀尺寸,就可以更改這些項目的尺寸。

+0

這正是我想要的。謝謝。 – gspr 2010-12-20 20:45:21