Windows繪圖和GDI+疑難

 

1.       Graphics與區域大小有關。如果窗體大小400*300時創建的Graphics對象g,當窗體拖放到600*400時,g對多出來的區域繪製無效。那麼Pen、Brush、Font等是不是也與特點大小的窗體有關?

2.       g.DrawCurves()、g.DrawLines()、g.DrawLine()中的問題。多點連線那個函數效率高?DrawCurves兩點間有多餘的弧度;DrawLines性能不穩定,有一個Bug,即連線不準;DrawLine性能最差,但是安全可靠。DrawLines爲什麼會有Bug?

3.       經常繪製大量圖形的窗體A,切換到窗體B時,本應該在A繪製的圖形怎麼會部分繪製到B上,是Windows系統刷新問題,還是Graphics對象本身的問題?

4.       如何創建一個半透明窗體子控件?做一個半透明窗體,移動此窗體時,要求被其覆蓋的其他窗體不引發重繪。提示1>單獨做一個半透明窗體C#很好做,可是當其被其他窗體創建使用時,半透明不透明瞭,似乎父窗體不透明,那麼子窗體也不能透明;提示2>ToolTip控件移動時,似乎不觸發其他窗體重繪,但是微軟不保證,偶爾又會觸發。

5.       此類型的任何公共靜態(Visual Basic 中的 Shared)成員都是線程安全的,但不保證所有實例成員都是線程安全的。如果跨線程使用偶爾會出錯。主線程啓用定時器使用同一Graphics 沒問題。

6.        

發佈了28 篇原創文章 · 獲贊 9 · 訪問量 6萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章