C GDI 基礎知識筆記

2021-10-01 14:12:54 字數 4222 閱讀 2998

gdi+的命名空間

命名空間

說明system.drawing

包含與基本繪圖功能有關的大多數類、結構、列舉和委託

system.drawing.drawing2d

為大多數高階2d和向量繪圖操作提供了支援,包括消除鋸齒、幾何變形和圖形路徑

system.drawing.imaging

包括有助於處理影象(位圖、gif檔案等)的各種類

system.drawing.printing

包含把印表機或列印預覽視窗作為「輸出裝置」時使用的類

system.drawing.design

包含一些預定義的對話方塊、屬性表和其他使用者介面元素,與在設計期間擴充套件使用者介面相關

system.drawing.text

包含對字型和字型系列執行更高階操作的類

color類的顏色說明

color的屬性

顏色說明

color.red

紅色color.white

白色color.aliceblue

艾麗斯藍

color.antiquewhite

古董白color顏色對照表

一、gdi的3種基本型別繪圖介面

1、windows窗體上的控制項

2、要傳送給印表機的頁面

3、記憶體中的點陣圖影象

二、graphics類

using system.drawing;//新增引用

graphics類是gdi+ 的核心,graphics 物件表示gdi+繪圖表面,它提供將物件繪製到顯示裝置的方法。graphics類封裝了繪製直線、曲線、圖形和文字的方法

建立graphics物件的3中方法

1、在窗體和控制項的paint事件中建立

private

void

groupbox1_paint

(object sender,

painteventargs e)

在為控制項建立繪製**時,通常用此方法來獲取對圖形物件的引用

2、呼叫控制項或窗體的creategraphics方法獲取對graphics物件的引用,該物件表示控制項或窗體的繪畫畫面

private

void

form1_load

(object sender,

eventargs e)

如果在已存在的窗體或控制項上繪圖,應該使用此方法。

3、由從image繼承的任何物件建立graphics物件

private

void

form1_load

(object sender,

eventargs e)

此方法在需要更改已存在的影象

graphics方法

說明drawline

繪製直線

drawrectangle

繪製矩形

drawellipse

繪製橢圓

drawarc

繪製圓弧

drawple

繪製扇形

drawpolygon

繪製多邊形

drawstring

繪製文字

drawimage

繪製圖形

fillellipse

填充橢圓內部

fillrectangle

填充矩形內部

//獲取窗體graphics類

graphics g =

this

.creategraphics()

;//建立用於填充圖形內部的顏色

solidbrush lab =

newsolidbrush

(color.red)

;//建立乙個矩形

rectangle b =

newrectangle(0

,10,50

,50);

pen p =

newpen

(color.red,2)

;//建立pen物件,第乙個引數顏色,第二個引數是線寬

g.drawline

(p,70,20

,70,80

);//畫直線

g.drawstring

("你好"

,new

font

("華文行楷",14

), lab,

100,

100)

;//畫字

g.drawellipse

(p,100

,100,50

,50);

//畫圓

g.fillrectangle

(lab, b)

;//填充矩形

g.fillellipse

(lab,60,

10,30,

30);//填充圓

三、pen類

pen類主要用於繪製線條,或者線條組合成的其他幾何形狀

pen p =

newpen

(color.beige,2)

;//建立pen物件,第乙個引數顏色,第二個引數是線寬

四、brush類

brush類主要用於填充幾何影象。brush類是乙個抽象基類,不能進行例項化,若要建立乙個畫筆物件,需要從brush派生出的類。

1、solidbrush類

solidbrush類可定義單色畫筆,用於填充圖形形狀,如矩形、橢圓、扇形、多邊形和封閉路徑。

graphics g =

this

.creategraphics()

;solidbrush lab =

newsolidbrush

( color.red)

;rectangle b =

newrectangle(10

,50,50

,50);

g.fillrectangle

(lab, b)

;

2、hatchbrush類

hatchbrush類提供了一種特定樣式的圖形,用來製作填滿整個封閉區域的繪圖效果。該類位於system.drawing.drawing2d命名空間下

for

(int i =

0; i <

5; i++

)

3、linergradientbrush類

linergradientbrush類提供了一種漸變色彩的特效,填充圖形的內部區域。該類位於system.drawing.drawing2d命名空間下

lineargradientbrush lab =

newlineargradientbrush

(new

point

(100

,100),

newpoint

(100

,200

),color.red,color.white)

;//第乙個引數是指定乙個點,使用point類宣告了乙個點

//第二個引數是指定下乙個點,

//第三個引數是指定乙個顏色

//第四個引數是指定乙個顏色

//漸變色從第三個引數是指定的顏色變成第四個引數是指定的顏色,方向和大小和兩個點有關

四、point和pointf 結構

point a = new point(20,10);

a.x=20;//從原點向右移動20個單位

a.y=10;//從原點向下移動10個單位

表示乙個點,由水平座標和垂直座標(x,y)組成,point 結構 表示物體的位置

point 的x和y的屬性型別是 int , pointf 的x和y的屬性型別是 float .

五、size和sizef 結構

size a = new size(20,10):

a.width = 20;//表示物體的寬度

a.height =10;//表示物體的高度

size 結構表示物體的大小,

六、rectangle和rectanglef 結構

這兩個結構表示乙個矩形區域。rectangle可以看作由乙個point和size組成,其中point表示矩形的左上角,size表示其大小。

七、region

region表示乙個包含複雜圖形的區域。

java基礎知識筆記

1,sigleton設計模式 單子模式 的實現方法 建立乙個類,滿足 構造器私有 用乙個私有 靜態變數引用例項 提供乙個公有 靜態方法獲得例項 2 抽象類 在以下任一條件成立時,類必須定義成抽象類 類中有至少乙個抽象方法 類繼承了父類中抽象方法,但是至少有乙個抽象方法沒有實現 類實現了某個介面,但沒...

oracle基礎知識(筆記)

一.oracle一些目錄路徑和檔案作用 oracle base路徑 d oracle product 10.2.0 oracle home d oracle product 10.2.0 db 1 可執行程式路徑 d oracle product 10.2.0 db 1 bin net8 配置檔案目...

VC基礎知識 筆記

1.showwindow方法 cgundongdlg pdlg new cgundongdlg pdlg create ids string102 pdlg showwindow sw restore 其中showwindow的引數為 sw forceminimize 是強制視窗最小化,主要使用在非...