簡體   English   中英

WxPython縮放技術

[英]WxPython zooming technique

我正在開發一個wxpython項目,在其中將圖繪制到面板上,我需要能夠放大/縮小該圖(在我的情況下為有向無環圖)。 當光標位於面板上時,我將通過鼠標滾動來實現此目的,但這不是我的問題。 我需要有經驗的人對我正在使用的縮放方法的建議。 到目前為止,我還以為

  • 在此圖中,矩形內有線條,矩形和文本。 因此,也許可以通過選擇鼠標事件來增加/減少它們的長度/大小。 但是很難保持平衡,因為矩形是用直線連接的,其角度不應改變,矩形內部的文本應保留在矩形的中間。
  • 我想到的另一種方法是搜索內置的縮放方法。 我聽說過Scale東西。 但是我對此方法有一些疑問。 這將適用於矢量繪圖(例如我的繪圖)而不是圖像。 它將僅縮放我選擇的面板而不縮放整個屏幕嗎? 在聽到您對此的建議之后,我將對此進行更深入的研究,但是現在我有點頭緒。

對不起,如果我的問題過於理論化 但是我覺得我需要該地區的幫助。 提前致謝。

注意:縮放不一定適用於滾動。

注意2:我的研究也使我進入了FloatCanvas 這適合我的需求嗎?

是的,根據您的描述, FloatCanvas當然可以滿足您的需求。

考慮的另一種可能性是wx.GraphicsContext和相關類。 它是基於矢量的(而不是柵格),並支持使用轉換矩陣,這將使縮放,旋轉等非常容易。 但是,與使用FloatCanvas相比,實際的圖形繪制和形狀管理可能需要更多的工作。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM