3.2.7 繪制矩形
矩形是另一種簡單的GDI圖形結構,我們可以照搬多邊形的函數(shù)結構,使用DrawRectangle函數(shù)來繪制矩形輪廓或者使用FillRectangle來填充矩形。
可以通過兩種方法來對矩形的位置及大小進行設置:傳遞一個填充了生成矩形所需要的信息的Rectangle結構;或指定矩形的x坐標、y坐標、width值以及height值。
注意:
當為這些方法指定了矩形的第一個角時,就不需要再指定其對角的坐標了。只需要指定矩形的寬度與高度。如果有對角的坐標數(shù)據(jù),那么矩形的寬度與高度可以通過這些公式來得到:width = (x2 – x1) ,height = (y2 – y1)。
注意,在使用DrawRectangle方法時,矩形的寬度和高度包含兩個邊界:如果您指定了一個矩形,其y坐標為10,height為20,那么該矩形的實際高度為21像素(包含了10~30之間的所有點,10與30兩個點也包含其中)。
在使用FillRectangle進行矩形填充時,矩形的右邊線與底邊線會排除在外,結果會填充一個高度為20像素的矩形(包含了10~29之間的所有像素,10與29兩個點也包含其中)。
矩形的寬度與高度值可以為負,也可以為0(會顯示為一條水平線或垂直的線)。注意,如果兩個尺寸都為0的話,那么不會繪制任何東西;您可以從第3.2.9節(jié)中獲得更多信息。
GDI沒有專門提供繪制正方形的方法,正方形只是寬度與高度相同的矩形。使用這些方法也無法繪制旋轉了的矩形(即矩形的水平邊與屏幕的側邊不垂直),不過這可以通過前面所討論的繪制多邊形的方法來實現(xiàn)。
3.2.8 繪制橢圓
橢圓與圓的創(chuàng)建方式同矩形非常相似,它們通過DrawEllipse與FillEllipse方法來創(chuàng)建,并且要傳遞給這些方法的參數(shù)也與矩形函數(shù)中的一致。創(chuàng)建好的橢圓可以精確地包含在矩形的邊界中,如圖3-6所示。
與正方形一樣,在繪制圓時,只需要為寬度和高度設置相同的值即可。沒有函數(shù)能夠繪制旋轉橢圓;這樣的橢圓可以使用包含了很多小線段的多邊形通過擬合橢圓的形狀來生成,也可以通過自己編寫算法來計算橢圓所涵蓋的像素來生成,但GDI本身不會為我們完成該功能。
注:以上內容圖略,圖片內容請參考原圖書