我正在使用C#GDI +創建自定義控件。GDI +離屏緩衝滾動
快速的解釋...的控制將是說在屏幕上500個像素,但會包含或許500000信息的像素。所以,雖然我只顯示500px,但我需要明顯地在水平面上滾動(左側&右側)。棘手的部分是每個500px的位圖塊需要一段時間(在100ms到1000ms之間)才能渲染。
所以我的計劃是保持在內存中1500px位圖。即可見區域的500px可見部分和500px任一側,並且在用戶滾動時異步地繪製離屏部分。
我想一些反饋,建議,批評和代碼示例來幫助我實現這一目標。這似乎相當簡單,但經過一些初步測試之後,其證明比人們想象的要難得多。
謝謝。
您遇到什麼樣的問題?閃爍?你是否已經渲染了一個緩衝區,然後從緩衝區複製到你的繪製事件中的控件中? – overslacked 2009-04-07 19:57:40
是的,我目前能夠建立一個1500px的位圖並滾動這個。我遇到的問題確實是在用戶滾動到緩衝區邊緣時更新位圖的最佳方法。 – pmcilreavy 2009-04-07 21:07:06
我在想一種方法是根據需要滾動和更新三個500px位圖。 – pmcilreavy 2009-04-07 21:07:45