在使用C#的窗口上的可滾動視圖中呈現大量2D圖形元素(線條,文本,形狀等)的最佳方法是什麼?在可滾動視圖中呈現2D圖元
1
A
回答
3
您可以將一個PictureBox(無論需要多大尺寸)放到AutoScroll設置爲True的Panel上,然後使用Graphics對象將所需的所有內容一次性繪製到PictureBox上。但是,如果繪圖表面的整體尺寸非常大,則此方法不實用(因爲這意味着需要一個巨大的PictureBox和相應龐大的Bitmap,這會消耗大量的內存)。如果是這種情況,最好是創建自己的可滾動用戶控件(水平和垂直),並只渲染控件的Paint事件中整個表面的可見部分。
第一種方法寫起來會更容易和更快,但可能會消耗太多的內存。第二種方法需要您做更多的工作,但會最大限度地減少內存消耗。
0
有一個scrollviewcontainer控件,但默認情況下不在工具箱上。我會做一個圖片框的上述方法,並將其嵌入此控件。此外,您可以使用SetStyle啓用雙緩衝以防止閃爍。另一種選擇是構建一個類來處理雙緩衝(繪製到位圖對象並使用CreateGraphics推出結果)。那裏有一些很好的例子。
相關問題
- 1. Android:在滾動視圖中呈現多個視圖
- 2. 可縮放的2D可滾動視圖
- 3. 在視圖中呈現可滾動的用戶控件
- 4. 在視圖中呈現UIView
- 5. 在同一屏幕上呈現滾動視圖和列表視圖
- 6. 2D橫向滾動相機視圖
- 7. 呈現滾動視圖後,在條件反應原生
- 8. 動畫呈現控制器視圖,而動畫呈現控制器視圖
- 9. 在EmberJS上動態地呈現視圖
- 10. 滾動滾動視圖時自動在滾動視圖內滾動地圖
- 11. UITableviewController與滾動視圖和滾動視圖單元格
- 12. 呈現視圖中的JSON
- 13. 在android sdk中的可滾動視圖
- 14. 滾動視圖與滾動視圖裏面,當軟鍵盤出現時,父滾動視圖不滾動
- 15. 可以呈現視圖控制器也是一個呈現視圖控制器?
- 16. 容器視圖和滾動視圖呈現偏移的表示形式
- 17. 在滾動視圖中放置視圖和元素
- 18. 滾動視圖是不可滾動
- 19. UIColectionView在滾動視圖中垂直滾動 - 在滾動收藏視圖的區域時禁用滾動視圖
- 20. 滾動視圖內滾動視圖android
- 21. 滾動視圖的子視圖如何知道滾動視圖正在滾動
- 22. UI-Router嵌套狀態視圖不呈現(呈現父視圖)
- 23. 從當前呈現的模態視圖呈現模態視圖
- 24. Android中的可滾動滑動視圖
- 25. 即時呈現,呈現視圖
- 26. 佈局下面viewpager不滾動視圖呈現
- 27. UICollectionViewCells子視圖滾動後呈現錯誤
- 28. 在滾動視圖中滾動Webview
- 29. 在滾動視圖中的Webview滾動整個視圖
- 30. 在滾動視圖中滾動列表視圖的功能