2009-04-13 71 views
1

我搜索了周圍的一個替代方式繪製視覺對象選擇指標(如選定的邊緣,線等)而不使用ControlPaint.DrawReversibleFrame和相關的異或方法。原因是不希望的XOR「僞像」,不適用於位圖的可逆性,不能控制實際的視覺外觀和緩慢。GDI +:替代DrawReversible視覺選擇指標?

另一方面,我想要避免重新繪製整個場景(實際地圖),如果用戶決定他想取消選擇一個或兩個對象,因爲重新繪製可能會非常昂貴。

所以我能看到的唯一選擇是直接在Bitmap上實現一些基本的繪圖邏輯,但在像素變化之前存儲以前的內容。然後(在理論上)如果用戶選擇取消選擇邊緣,我將能夠重新應用所選邊緣矩形的舊內容。

我的問題是,你認爲這是一個好主意,或者你看到一些其他的替代我的問題(在GDI +內)?

在此先感謝

回答

1

如果選擇指示符剛剛繪製在未選定對象的頂部,則可以使用兩個位圖,在背景上繪製所有未選中的對象並在另一個上繪製選擇指示器,然後在屏幕上繪製它們。
否則,除了渲染選定的對象而不是指標之外,您可以做同樣的事情。

+0

不是一個壞主意,我會在某個時候嘗試 – 2010-01-06 07:25:04

0

只將「感興趣的」矩形存儲在屏幕外緩衝區中。重點丟失時重畫。 。 。或者,如果您可以重新繪製正常情況下基於內存數據顯示的部分,您應該可以。否則,似乎你有它的要點。