pen類:繪製指定寬度和樣式的直線。使用dashstyle屬性繪製幾種虛線,可以使用各種填充樣式(包括純色和紋理)來填充pen繪製的直線,填充模式取決於畫筆或用作填充物件的紋理。
建立畫筆:
//用指定的顏色例項化乙隻畫筆的方法如下:
public
pen(color);
//用指定的畫刷例項化乙隻畫筆的方法如下:
public
pen(brush);
//用指定的畫刷和寬度例項化乙隻畫筆的方法如下:
public pen(brush , float
); //
用指定的顏色和寬度例項化乙隻畫筆的方法如下:
public pen(color, float
); //
例項化畫筆的語句格式如下:
pen pn=new
pen(color.blue);
//或者
pen pn=new pen(color.blue,100);
屬性成員:
名稱說明
alignment
獲取或設定畫筆的對齊方式
brush
獲取或者設定畫筆的屬性
color
獲取或者設定畫筆顏色
width
獲取或者設定畫筆的寬度
brush類(畫刷):是乙個抽象的基類,因此他不能被例項化,用它的派生類進行例項化乙個畫刷物件。
結構元件:
point類:表示乙個具體的點
size類:表示尺寸(畫素為單位)。size結構包含寬度和高度
rectangle結構:乙個建構函式的引數是x座標,y座標,寬度和高度。另外乙個構造函式引數是point和size。
//用指定的位置和大小初始化rectangle類的新例項。
public
retangle(
point
,size);
public
rectangle(
int,
int,
int,
int);
屬性成員:
名稱說明
bottom
底端座標
height
矩形高isempty
測試矩形寬和高是否為0
left
矩形左邊座標
location
矩形的位置
right
矩形右邊座標
size
矩形尺寸.
top矩形頂端座標
width
矩形寬x
矩形左上角頂點x座標
y矩形左上角頂點y座標
風格元件:
color類:(顏色及透明度),由透明度a 和三基色(rgb)所組成
屬性成員:
名稱說明
a獲取此color結構的alpha分量值,取值(0~255)。
b獲取此color結構的藍色分量值,取值(0~255)。
g獲取此color結構的綠色分量值,取值(0~255)。
r獲取此color結構的紅色分量值,取值(0~255)。
name
獲取此color結構的名稱,這將返回使用者定義的顏色的名稱或已知顏色的名稱(如果該顏色是從某個名稱建立的),對於自定義的顏色,將返回rgb值。
靜態方法成員:
名稱說明
fromargb
從四個8位argb分量(alpha、紅色、綠色和藍色)值建立color結構。
fromknowcolor
從指定的預定義顏色建立乙個color結構。
fromname
從預定義顏色的指定名稱建立乙個color結構。
例項:
//定義乙個bitmap
bitmap mybitmap = new bitmap("
c:\\myimages\\myimg.bmp");
//定義乙個顏色變數把在指定位置所取得的畫素值存入顏色變數中
color c = new
color();
//獲取此bitmap中指定畫素的顏色
c = mybitmap.getpixel(10, 10
);
//將顏色值分解出單色分量值
intr, g, b;
r =c.r;
g =c.g;
b = c.b;
font類(字型風格):定義特定文字格式,包括字型,字型大小和字形屬性。
建立font例項://"
字型名"
為font的fontfamily的字串表示形式
public
font(
string
字型名,
float
字型大小,fontstyle 字形)
//字型大小和字型為可選項
public
font(
string
字型名,
float
字型大小)
屬性成員:
名稱說明
bold
是否為粗體。
fontfamily
字型成員。
height
字型高。
italic
是否為斜體。
name
字型名稱。
size
字型尺寸。
sizeinpoints
獲取此 font物件的字型大小,以磅為單位。
strikeout
是否有刪除線。
style
字型型別。
underline
是否有下劃線。
unit
字型尺寸單位。
重要引數:
graphicspaths(路徑):表示一系列連續的線條和曲線。
建立路徑:
public
graphicspath(system.drawing.
pointf
pts,
byte
types, system.drawing.drawing2d.fillmode fillmode)
//fillmode 填充方式 point 結構陣列 types 對應點的型別 列舉pathpointtype
pathpointtype列舉:
名稱說明
start
路徑起點
bazier
預設貝塞爾曲線
pathtypemark
遮蓋點dashmode
新增橢圓
pathmarker
路徑標記
closesubpath
子路徑終結點
bazier3
立體貝塞爾曲線
方法成員:
名稱說明
addarc
新增圓弧
addbezier
新增立方貝塞爾曲線
addclosedcurve
新增閉合曲線
addellipse
新增橢圓
addline
新增線段
addpath
新增路徑,bool引數表示是否將新增路徑的第乙個圖形作為當前路徑最後乙個圖形的子成員
addpie
新增扇形輪廓
addpolygon
新增多邊形
addrectangle
新增矩形
addstring
新增字串
clearmarkers
清除所有標誌
closeallfigures
閉合所有開放圖形
closefigure
閉合當前圖形
reverse
反轉陣列各點順序
reset
清空,並做好接收準備
startfigure
不閉合當前圖形就開始新的圖形
getbounds
獲得邊界(矩形)
getlastpoint
獲得最後乙個點
regions(組合圖形):由矩形和路徑組成
建立組合圖形:
public
region(system.drawing.drawing2d.
regiondata
rgndata)
public
region(system.drawing.drawing2d.
graphicspath
path)
public
region(system.drawing.
rectangle
rect)
public
region(system.drawing.
rectanglef
rect)
方法成員:
名稱說明
complement
更新,以包含與引數不相交的部分
exclude
更新,以僅包含內部以及與引數不想交的部分
union
更新為與指定引數的並集
xor更新為與指定引數的並集與交集的差集
translate
指定量偏移座標
intersect
更新為與指定引數的交集
isinfinite(g)
測試此region是否在指定g上具有無限內部
makeempty
清空makeinfinite
初始化為無限內部
C GDI 程式設計(一)
首先你要有點基本的幾何概念。例如大家常說的點動成線,線動成面,面動成體。兩點確定一條直線,不在同一直線上的三點確定乙個圓 或者平面 諸如此類。然後你要理解的是,對應於幾何概念中點,就是螢幕上的乙個畫素,因此,這種點和純粹幾何中的點還是有區別的。最後乙個就是座標了,和解析幾何不同,其座標系統如下 正方...
C GDI 程式設計(三)
2.矩形 先看看矩形結構 rectangle 儲存一組整數,共四個,表示乙個矩形的位置和大小,矩形由其寬度 高度和左上角定義,可用的建構函式如下 public rectangle point location,size size 用指定的位置和大小初始化 rectangle 類的新例項。public...
C GDI 基礎知識筆記
gdi 的命名空間 命名空間 說明system.drawing 包含與基本繪圖功能有關的大多數類 結構 列舉和委託 system.drawing.drawing2d 為大多數高階2d和向量繪圖操作提供了支援,包括消除鋸齒 幾何變形和圖形路徑 system.drawing.imaging 包括有助於處...