歡迎來到Linux教程網
Linux教程網
Linux教程網
Linux教程網
Linux教程網 >> Linux編程 >> Linux編程 >> Java Graphics 圖形繪制

Java Graphics 圖形繪制

日期:2017/3/1 9:28:23   编辑:Linux編程

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)

繪制指定矩形的邊框。矩形的左邊緣和右邊緣分別位於 xx + width。上邊緣和下邊緣分別位於 yy + 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)

繪制橢圓的邊框。得到一個圓或橢圓,它剛好能放入由 xywidthheight 參數指定的矩形中。

橢圓覆蓋區域的寬度為 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)
用此圖形上下文的當前顏色繪制圓角矩形的邊框。矩形的左邊緣和右邊緣分別位於 xx + width。矩形的上邊緣和下邊緣分別位於 yy + 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),大小由 widthheight 參數指定。

得到的弧覆蓋 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); 

Copyright © Linux教程網 All Rights Reserved