Graphics類提供基本繪圖方法,Graphics類提供基本的幾何圖形繪制方法,主要有:畫線段、畫矩形、畫圓、畫帶顏色的圖形、畫橢圓、畫圓弧、畫多邊形、畫字符串等。
畫線段
drawLine
public abstract void drawLine(int x1,
int y1,
int x2,
int y2)
-
在此圖形上下文的坐標系中,使用當前顏色在點
(x1, y1)和(x2, y2)之間畫一條線 -
- 參數:
-
x1- 第一個點的 x 坐標。 -
y1- 第一個點的 y 坐標。 -
x2- 第二個點的 x 坐標。 -
y2- 第二個點的 y 坐標。 -
g.drawLine(10, 50, 100, 100);
畫矩形
drawRect
public void drawRect(int x,
int y,
int width,
int height)
-
繪制指定矩形的邊框。矩形的左邊緣和右邊緣分別位於
x和x + width。上邊緣和下邊緣分別位於y和y + height。使用圖形上下文的當前顏色繪制該矩形。 -
- 參數:
-
x- 要繪制矩形的 x 坐標。 -
y- 要繪制矩形的 y 坐標。 -
width- 要繪制矩形的寬度。 -
height- 要繪制矩形的高度。 -
g.drawRect(120, 50, 200, 100);
畫橢圓形
public abstract void drawOval(int x,
int y,
int width,
int height)
-
繪制橢圓的邊框。得到一個圓或橢圓,它剛好能放入由
x、y、width和height參數指定的矩形中。橢圓覆蓋區域的寬度為
width + 1像素,高度為height + 1像素。 -
- 參數:
-
x- 要繪制橢圓的左上角的 x 坐標。 -
y- 要繪制橢圓的左上角的 y 坐標。 -
width- 要繪制橢圓的寬度。 -
height- 要繪制橢圓的高度。 -
g.drawOval(160, 160, 200, 100);
畫帶顏色的圖形
setColor
public abstract void setColor(Color c)
-
將此圖形上下文的當前顏色設置為指定顏色。使用此圖形上下文的所有后續圖形操作均使用這個指定的顏色。
-
- 參數:
-
c- 新的呈現顏色。 -
g.setColor(Color.yellow); g.fillRect(20,70,20,30); // 畫矩形着色塊
畫圓
drawRoundRect
public abstract void drawRoundRect(int x,
int y,
int width,
int height,
int arcWidth,
int arcHeight)
-
用此圖形上下文的當前顏色繪制圓角矩形的邊框。矩形的左邊緣和右邊緣分別位於
x和x + width。矩形的上邊緣和下邊緣分別位於y和y + height。 -
- 參數:
-
x- 要繪制矩形的 x 坐標。 -
y- 要繪制矩形的 y 坐標。 -
width- 要繪制矩形的寬度。 -
height- 要繪制矩形的高度。 -
arcWidth- 4 個角弧度的水平直徑。 -
arcHeight- 4 個角弧度的垂直直徑。 -
g.setColor(Color.red); g.fillRoundRect(80,100,100,100,100,100);//畫圓塊
畫圓弧
drawArc
public abstract void drawArc(int x,
int y,
int width,
int height,
int startAngle,
int arcAngle)
-
繪制一個覆蓋指定矩形的圓弧或橢圓弧邊框。
得到的弧從
startAngle開始跨越arcAngle度,並使用當前顏色。對角度的解釋如下:0 度角位於 3 點鍾位置。正值指示逆時針旋轉,負值指示順時針旋轉。弧的中心是矩形的中心,此矩形的原點為 (x, y),大小由
width和height參數指定。得到的弧覆蓋
width + 1像素寬乘以height + 1像素高的區域。角度是相對於外接矩形的非正方形區域指定的,45 度角始終落在從橢圓中心到外接矩形右上角的連線上。因此,如果外接矩形在一個軸上遠遠長於另一個軸,則弧段的起點和結束點的角度將沿邊框長軸發生更大的偏斜。
-
- 參數:
-
x- 要繪制弧的左上角的 x 坐標。 -
y- 要繪制弧的左上角的 y 坐標。 -
width- 要繪制弧的寬度。 -
height- 要繪制弧的高度。 -
startAngle- 開始角度。 -
arcAngle- 相對於開始角度而言,弧跨越的角度。g.drawArc(10,40,90,50,0,180); // 畫圓弧線 g.drawArc(100,40,90,50,180,180); // 畫圓弧線 g.setColor(Color.yellow); g.fillArc(10,100,40,40,0,-270); // 填充缺右上角的四分之三的橢圓 g.setColor(Color.green); g.fillArc(60,110,110,60,-90,-270); // 填充缺左下角的四分之三的橢圓
畫多邊形
/**
* 繪制一個由 x 和 y 坐標數組定義的閉合多邊形。每對 (x, y) 坐標定義一個點。
*/
public abstract void drawPolygon(int[] xPoints, int[] yPoints, int nPoints);
/**
* 填充由 x 和 y 坐標數組定義的閉合多邊形。
*/
public abstract void fillPolygon(int[] xPoints, int[] yPoints, int nPoints)
int px[] = { 210, 220, 270, 250, 240 }; int py[] = { 220, 250, 300, 270, 220 }; g.drawPolygon(px, py, px.length);
畫字符串
public abstract void drawString(String str, int x, int y)
-
使用此圖形上下文的當前字體和顏色繪制由指定 string 給定的文本。最左側字符的基線位於此圖形上下文坐標系的 (
x,
y) 位置處。
-
- 參數:
-
str- 要繪制的 string。 -
x- x 坐標。 -
y- y 坐標。g.setColor(Color.GREEN); g.setFont(new Font("楷體", Font.BOLD, 20)); g.drawString("使用畫筆繪制的字符串內容", 220, 345);
