|
JavaTM 2 Platform Standard Ed. 6 |
|||||||||
上一個類別 下一個類別 | 框架 無框架 | |||||||||
摘要: 巢狀 | 欄位 | 建構子 | 方法 | 詳細資訊: 欄位 | 建構子 | 方法 |
java.lang.Object java.awt.Graphics
public abstract class Graphics
Graphics
類別是所有圖形上下文的抽象基礎類別,允許應用程序在元件(已經在各種設備上實作)以及閉屏圖像上進行繪製。
Graphics
物件封裝了 Java 支持的基本呈現操作所需的狀態資訊。此狀態資訊包括以下屬性:
Component
物件。
setXORMode(java.awt.Color)
)。
坐標是無限細分的,並且位於輸出設備的像素之間。繪製圖形輪廓的操作是通過使用像素大小的畫筆遍歷像素間無限細分路徑的操作,畫筆從路徑上的錨點向下和向右繪製。填充圖形的操作是填充圖形內部區域無限細分路徑操作。呈現水平文本的操作是呈現字元字形完全位於基線坐標之上的上升部分。
圖形畫筆從要遍歷的路徑向下和向右繪製。其含義如下:
所有作為此 Graphics
物件方法的參數而出現的坐標,都是相對於調用該方法前的此 Graphics
物件轉換原點的。
所有呈現操作僅修改當前剪貼區所限定區域內的像素,此剪貼區是由使用者空間中的 Shape
指定的,並通過使用 Graphics
物件的程序來控制。此使用者剪貼區 被轉換到設備空間中,並與設備剪貼區 組合,後者是通過視窗可見性和設備範圍定義的。使用者剪貼區和設備剪貼區的組合定義復合剪貼區,復合剪貼區確定最終的剪貼區域。使用者剪貼區不能由呈現系統修改,以反映得到的復合剪貼區。使用者剪貼區只能通過 setClip
或 clipRect
方法更改。所有的繪製或寫入都以當前的顏色、當前繪圖網要和當前字體完成。
Component
,
clipRect(int, int, int, int)
,
setColor(java.awt.Color)
,
setPaintMode()
,
setXORMode(java.awt.Color)
,
setFont(java.awt.Font)
建構子摘要 | |
---|---|
protected |
Graphics()
建構一個新的 Graphics 物件。 |
方法摘要 | |
---|---|
abstract void |
clearRect(int x,
int y,
int width,
int height)
通過使用當前繪圖表面的背景色進行填充來清除指定的矩形。 |
abstract void |
clipRect(int x,
int y,
int width,
int height)
將當前剪貼區與指定的矩形相交。 |
abstract void |
copyArea(int x,
int y,
int width,
int height,
int dx,
int dy)
將元件的區域複製到由 dx 和 dy 指定的距離處。 |
abstract Graphics |
create()
創建一個新的 Graphics 物件,它是此 Graphics 物件的副本。 |
Graphics |
create(int x,
int y,
int width,
int height)
基於此 Graphics 物件創建一個新的 Graphics 物件,但是使用新的轉換和剪貼區域。 |
abstract void |
dispose()
釋放此圖形的上下文以及它使用的所有系統資源。 |
void |
draw3DRect(int x,
int y,
int width,
int height,
boolean raised)
繪製指定矩形的 3-D 高亮顯示邊框。 |
abstract void |
drawArc(int x,
int y,
int width,
int height,
int startAngle,
int arcAngle)
繪製一個覆寫指定矩形的圓弧或橢圓弧邊框。 |
void |
drawBytes(byte[] data,
int offset,
int length,
int x,
int y)
使用此圖形上下文的當前字體和顏色繪製由指定 byte 陣列給定的文本。 |
void |
drawChars(char[] data,
int offset,
int length,
int x,
int y)
使用此圖形上下文的當前字體和顏色繪製由指定字元陣列給定的文本。 |
abstract boolean |
drawImage(Image img,
int x,
int y,
Color bgcolor,
ImageObserver observer)
繪製指定圖像中當前可用的圖像。 |
abstract boolean |
drawImage(Image img,
int x,
int y,
ImageObserver observer)
繪製指定圖像中當前可用的圖像。 |
abstract boolean |
drawImage(Image img,
int x,
int y,
int width,
int height,
Color bgcolor,
ImageObserver observer)
繪製指定圖像中已縮放到適合指定矩形內部的圖像。 |
abstract boolean |
drawImage(Image img,
int x,
int y,
int width,
int height,
ImageObserver observer)
繪製指定圖像中已縮放到適合指定矩形內部的圖像。 |
abstract boolean |
drawImage(Image img,
int dx1,
int dy1,
int dx2,
int dy2,
int sx1,
int sy1,
int sx2,
int sy2,
Color bgcolor,
ImageObserver observer)
繪製當前可用的指定圖像的指定區域,動態地縮放圖像使其符合目標繪製表面的指定區域。 |
abstract boolean |
drawImage(Image img,
int dx1,
int dy1,
int dx2,
int dy2,
int sx1,
int sy1,
int sx2,
int sy2,
ImageObserver observer)
繪製當前可用的指定圖像的指定區域,動態地縮放圖像使其符合目標繪製表面的指定區域。 |
abstract void |
drawLine(int x1,
int y1,
int x2,
int y2)
在此圖形上下文的坐標系中,使用當前顏色在點 (x1, y1) 和 (x2, y2) 之間畫一條線。 |
abstract void |
drawOval(int x,
int y,
int width,
int height)
繪製橢圓的邊框。 |
abstract void |
drawPolygon(int[] xPoints,
int[] yPoints,
int nPoints)
繪製一個由 x 和 y 坐標陣列定義的閉合多邊形。 |
void |
drawPolygon(Polygon p)
繪製由指定的 Polygon 物件定義的多邊形邊框。 |
abstract void |
drawPolyline(int[] xPoints,
int[] yPoints,
int nPoints)
繪製由 x 和 y 坐標陣列定義的一系列連接線。 |
void |
drawRect(int x,
int y,
int width,
int height)
繪製指定矩形的邊框。 |
abstract void |
drawRoundRect(int x,
int y,
int width,
int height,
int arcWidth,
int arcHeight)
用此圖形上下文的當前顏色繪製圓角矩形的邊框。 |
abstract void |
drawString(AttributedCharacterIterator iterator,
int x,
int y)
依據 TextAttribute 類別的規範應用指定迭代器的屬性,呈現迭代器的文本。 |
abstract void |
drawString(String str,
int x,
int y)
使用此圖形上下文的當前字體和顏色繪製由指定 string 給定的文本。 |
void |
fill3DRect(int x,
int y,
int width,
int height,
boolean raised)
繪製一個用當前顏色填充的 3-D 高亮顯示矩形。 |
abstract void |
fillArc(int x,
int y,
int width,
int height,
int startAngle,
int arcAngle)
填充覆寫指定矩形的圓弧或橢圓弧。 |
abstract void |
fillOval(int x,
int y,
int width,
int height)
使用當前顏色填充外接指定矩形框的橢圓。 |
abstract void |
fillPolygon(int[] xPoints,
int[] yPoints,
int nPoints)
填充由 x 和 y 坐標陣列定義的閉合多邊形。 |
void |
fillPolygon(Polygon p)
用圖形上下文的當前顏色填充指定 Polygon 物件定義的多邊形。 |
abstract void |
fillRect(int x,
int y,
int width,
int height)
填充指定的矩形。 |
abstract void |
fillRoundRect(int x,
int y,
int width,
int height,
int arcWidth,
int arcHeight)
用當前顏色填充指定的圓角矩形。 |
void |
finalize()
一旦不再參考此圖形上下文就釋放它。 |
abstract Shape |
getClip()
獲取當前剪貼區域。 |
abstract Rectangle |
getClipBounds()
返回當前剪貼區域的邊界矩形。 |
Rectangle |
getClipBounds(Rectangle r)
返回當前剪貼區域的邊界矩形。 |
Rectangle |
getClipRect()
已過時。 從 JDK version 1.1 開始,由 getClipBounds() 取代。 |
abstract Color |
getColor()
獲取此圖形上下文的當前顏色。 |
abstract Font |
getFont()
獲取當前字體。 |
FontMetrics |
getFontMetrics()
獲取當前字體的字體規格。 |
abstract FontMetrics |
getFontMetrics(Font f)
獲取指定字體的字體規格。 |
boolean |
hitClip(int x,
int y,
int width,
int height)
如果指定的矩形區域與當前的剪貼區域相交,則返回 true。 |
abstract void |
setClip(int x,
int y,
int width,
int height)
將當前剪貼區設置為由給定坐標指定的矩形。 |
abstract void |
setClip(Shape clip)
將當前剪貼區域設置為任意的剪貼形狀。 |
abstract void |
setColor(Color c)
將此圖形上下文的當前顏色設置為指定顏色。 |
abstract void |
setFont(Font font)
將此圖形上下文的字體設置為指定字體。 |
abstract void |
setPaintMode()
設置將此圖形上下文的繪圖網要,以便通過此圖形上下文中的當前顏色來覆寫目標。 |
abstract void |
setXORMode(Color c1)
將此圖形上下文的繪圖網要設置為在此圖形上下文的當前顏色和新的指定顏色之間交替。 |
String |
toString()
返回表示此 Graphics 物件值的 String 物件。 |
abstract void |
translate(int x,
int y)
將圖形上下文的原點平移到當前坐標系中的點 (x, y)。 |
從類別 java.lang.Object 繼承的方法 |
---|
clone, equals, getClass, hashCode, notify, notifyAll, wait, wait, wait |
建構子詳細資訊 |
---|
protected Graphics()
Graphics
物件。此建構子是用於圖形上下文的預設建構子。
因為 Graphics
是一個抽象類別,所以應用程序不能直接調用此建構子。圖形上下文從其他圖形上下文獲取,或者通過在元件上調用 getGraphics
來創建。
create()
,
Component.getGraphics()
方法詳細資訊 |
---|
public abstract Graphics create()
Graphics
物件,它是此 Graphics
物件的副本。
public Graphics create(int x, int y, int width, int height)
Graphics
物件創建一個新的 Graphics
物件,但是使用新的轉換和剪貼區域。新 Graphics
物件的原點平移到指定點 (x, y)。其剪貼區域由原始剪貼區域和指定矩形的交集確定。各個參數均在原始 Graphics
物件的坐標系內進行解釋。新圖形上下文除以下兩方面之外,其他與原始圖形上下文相同:
0
, 0
) 與原圖形上下文中的點 (x, y) 相同。
0
, 0
),其大小由 width
和 height
參數指定。
x
- x 坐標。y
- y 坐標。width
- 剪貼矩形的寬度。height
- 剪貼矩形的高度。
translate(int, int)
,
clipRect(int, int, int, int)
public abstract void translate(int x, int y)
x
- x 坐標。y
- y 坐標。public abstract Color getColor()
Color
,
setColor(Color)
public abstract void setColor(Color c)
c
- 新的呈現顏色。Color
,
getColor()
public abstract void setPaintMode()
public abstract void setXORMode(Color c1)
當執行繪製操作時,當前顏色的像素更改為指定的顏色,反之亦然。
這兩種顏色以外的像素以不可預測但可逆的方式更改;如果相同的圖形被繪製兩次,則所有像素恢復到原始值。
c1
- XOR 交替顏色public abstract Font getFont()
Font
,
setFont(Font)
public abstract void setFont(Font font)
font
- 字體。getFont()
,
drawString(java.lang.String, int, int)
,
drawBytes(byte[], int, int, int, int)
,
drawChars(char[], int, int, int, int)
public FontMetrics getFontMetrics()
getFont()
,
FontMetrics
,
getFontMetrics(Font)
public abstract FontMetrics getFontMetrics(Font f)
f
- 指定的字體
getFont()
,
FontMetrics
,
getFontMetrics()
public abstract Rectangle getClipBounds()
setClip(null)
清除了剪貼區,則此方法返回 null
。該矩形內的坐標相對於此圖形上下文的坐標系原點。
null
。getClip()
,
clipRect(int, int, int, int)
,
setClip(int, int, int, int)
,
setClip(Shape)
public abstract void clipRect(int x, int y, int width, int height)
setClip(null)
清除了剪貼區而導致沒有當前剪貼區域,那麼指定的矩形將成為新的剪貼區。此方法設置使用者剪貼區,使用者剪貼區與設備邊界和視窗可見性所關聯的剪貼區無關。此方法只能用來縮小當前剪貼區。要擴大當前剪貼區,請使用 setClip 方法。呈現操作對剪貼區域的外部沒有影響。
x
- 要與剪貼區相交的矩形的 x 坐標y
- 要與剪貼區相交的矩形的 y 坐標width
- 要與剪貼區相交的矩形的寬度height
- 要與剪貼區相交的矩形的高度setClip(int, int, int, int)
,
setClip(Shape)
public abstract void setClip(int x, int y, int width, int height)
x
- 新剪貼區矩形的 x 坐標。y
- 新剪貼區矩形的 y 坐標。width
- 新剪貼區矩形的寬度。height
- 新剪貼區矩形的高度。clipRect(int, int, int, int)
,
setClip(Shape)
,
getClip()
public abstract Shape getClip()
setClip(null)
清除了剪貼區,那麼此方法返回 null
。
Shape
物件;如果未設置剪貼區,則返回 null
。getClipBounds()
,
clipRect(int, int, int, int)
,
setClip(int, int, int, int)
,
setClip(Shape)
public abstract void setClip(Shape clip)
Shape
介面的物件都能用於設置剪貼區。只保證支持通過 getClip
方法和 Rectangle
物件獲取的 Shape
物件。此方法設置使用者剪貼區,使用者剪貼區與設備邊界和視窗可見性關聯的剪貼區無關。
clip
- 用來設置剪貼形狀的 Shape
getClip()
,
clipRect(int, int, int, int)
,
setClip(int, int, int, int)
public abstract void copyArea(int x, int y, int width, int height, int dx, int dy)
dx
和 dy
指定的距離處。此方法從 x
和 y
指定的點向下和向右複製。要將元件的區域向左或向上複製,請指定負的 dx
或 dy
值。如果源矩形的一部分位於元件邊界的外部,或者被另一個視窗或元件遮掩,那麼 copyArea
將無法複製相關的像素。通過調用元件的 paint
方法可刷新被忽略的區域。
x
- 源矩形的 x 坐標。y
- 源矩形的 y 坐標。width
- 源矩形的寬度。height
- 源矩形的高度。dx
- 複製像素的水平距離。dy
- 複製像素的垂直距離。public abstract void drawLine(int x1, int y1, int x2, int y2)
(x1, y1)
和 (x2, y2)
之間畫一條線。
x1
- 第一個點的 x 坐標。y1
- 第一個點的 y 坐標。x2
- 第二個點的 x 坐標。y2
- 第二個點的 y 坐標。public abstract void fillRect(int x, int y, int width, int height)
x
和 x + width - 1
。上邊緣和下邊緣分別位於 y
和 y + height - 1
。得到的矩形覆寫 width
像素寬乘以 height
像素高的區域。使用圖形上下文的當前顏色填充該矩形。
x
- 要填充矩形的 x 坐標。y
- 要填充矩形的 y 坐標。width
- 要填充矩形的寬度。height
- 要填充矩形的高度。clearRect(int, int, int, int)
,
drawRect(int, int, int, int)
public void drawRect(int x, int y, int width, int height)
x
和 x + width
。上邊緣和下邊緣分別位於 y
和 y + height
。使用圖形上下文的當前顏色繪製該矩形。
x
- 要繪製矩形的 x 坐標。y
- 要繪製矩形的 y 坐標。width
- 要繪製矩形的寬度。height
- 要繪製矩形的高度。fillRect(int, int, int, int)
,
clearRect(int, int, int, int)
public abstract void clearRect(int x, int y, int width, int height)
從 Java 1.1 開始,離屏圖像的背景色可能與系統相關。應用程序應該使用 setColor
,然後使用 fillRect
,以確保離屏圖像被清除為指定顏色。
x
- 要清除矩形的 x 坐標。y
- 要清除矩形的 y 坐標。width
- 要清除矩形的寬度。height
- 要清除矩形的高度。fillRect(int, int, int, int)
,
drawRect(int, int, int, int)
,
setColor(java.awt.Color)
,
setPaintMode()
,
setXORMode(java.awt.Color)
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 個角弧度的垂直直徑。fillRoundRect(int, int, int, int, int, int)
public abstract void fillRoundRect(int x, int y, int width, int height, int arcWidth, int arcHeight)
x
和 x + width - 1
。矩形的上邊緣和下邊緣分別位於 y
和 y + height - 1
。
x
- 要填充矩形的 x 坐標。y
- 要填充矩形的 y 坐標。width
- 要填充矩形的寬度。height
- 要填充矩形的高度。arcWidth
- 4 個角弧度的水平直徑。arcHeight
- 4 個角弧度的垂直直徑。drawRoundRect(int, int, int, int, int, int)
public void draw3DRect(int x, int y, int width, int height, boolean raised)
高亮顯示效果所用的顏色根據當前顏色確定。得到的矩形覆寫 width + 1
像素寬乘以 height + 1
像素高的區域。
x
- 要繪製矩形的 x 坐標。y
- 要繪製矩形的 y 坐標。width
- 要繪製矩形的寬度。height
- 要繪製矩形的高度。raised
- 一個用於確定矩形是凸出平面顯示還是凹入平面顯示的 boolean 值。fill3DRect(int, int, int, int, boolean)
public void fill3DRect(int x, int y, int width, int height, boolean raised)
x
- 要填充矩形的 x 坐標。y
- 要填充矩形的 y 坐標。width
- 要填充矩形的寬度。height
- 要填充矩形的高度。raised
- 一個用於確定矩形是凸出平面顯示還是凹入平面顯示的 boolean 值。draw3DRect(int, int, int, int, boolean)
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
- 要繪製橢圓的高度。fillOval(int, int, int, int)
public abstract void fillOval(int x, int y, int width, int height)
x
- 要填充橢圓的左上角的 x 坐標。y
- 要填充橢圓的左上角的 y 坐標。width
- 要填充橢圓的寬度。height
- 要填充橢圓的高度。drawOval(int, int, int, int)
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
- 相對於開始角度而言,弧跨越的角度。fillArc(int, int, int, int, int, int)
public abstract void fillArc(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
- 相對於開始角度而言,弧跨越的角度。drawArc(int, int, int, int, int, int)
public abstract void drawPolyline(int[] xPoints, int[] yPoints, int nPoints)
xPoints
- x 點陣列yPoints
- y 點陣列nPoints
- 點的總數drawPolygon(int[], int[], int)
public abstract void drawPolygon(int[] xPoints, int[] yPoints, int nPoints)
此方法繪製由 nPoint
個線段定義的多邊形,其中前 nPoint - 1
個線段是 1 ≤ i ≤ nPoints
時從 (xPoints[i - 1], yPoints[i - 1])
到 (xPoints[i], yPoints[i])
的線段。如果最後一個點和第一個點不同,則圖形將在這兩點間繪製一條線段來自動閉合。
xPoints
- x
坐標陣列。yPoints
- y
坐標陣列。nPoints
- 點的總數。fillPolygon(int[], int[], int)
,
drawPolyline(int[], int[], int)
public void drawPolygon(Polygon p)
Polygon
物件定義的多邊形邊框。
p
- 要繪製的多邊形。fillPolygon(int[], int[], int)
,
drawPolyline(int[], int[], int)
public abstract void fillPolygon(int[] xPoints, int[] yPoints, int nPoints)
此方法繪製由 nPoint
個線段定義的多邊形,其中前 nPoint - 1
個線段是 1 ≤ i ≤ 時從 (xPoints[i - 1], yPoints[i - 1])
到 (xPoints[i], yPoints[i])
的線段。如果最後一個點和第一個點不同,則圖形會通過在這兩點間繪製一條線段來自動閉合。
多邊形內部的區域使用奇偶填充規則定義,此規則也稱為交替填充規則。
xPoints
- x
坐標陣列。yPoints
- y
坐標陣列。nPoints
- 點的總數。drawPolygon(int[], int[], int)
public void fillPolygon(Polygon p)
多邊形內部的區域使用奇偶填充規則定義,此規則也稱為交替填充規則。
p
- 要填充的多邊形。drawPolygon(int[], int[], int)
public abstract void drawString(String str, int x, int y)
str
- 要繪製的 string。x
- x 坐標。y
- y 坐標。
NullPointerException
- 如果 str
為 null
。drawBytes(byte[], int, int, int, int)
,
drawChars(char[], int, int, int, int)
public abstract void drawString(AttributedCharacterIterator iterator, int x, int y)
TextAttribute
類別的規範應用指定迭代器的屬性,呈現迭代器的文本。
最左側字元的基線位於此圖形上下文坐標系的 (x, y) 位置處。
iterator
- 要繪製其文本的迭代器x
- x 坐標。y
- y 坐標。
NullPointerException
- 如果 iterator
為 null
。drawBytes(byte[], int, int, int, int)
,
drawChars(char[], int, int, int, int)
public void drawChars(char[] data, int offset, int length, int x, int y)
data
- 要繪製的字元陣列offset
- 資料的初始偏移量length
- 要繪製的字元數x
- 文本基線的 x 坐標y
- 文本基線的 y 坐標
NullPointerException
- 如果 data
為 null
。
IndexOutOfBoundsException
- 如果 offset
或 length
小於零,或者
offset+length
大於 data
陣列的長度。drawBytes(byte[], int, int, int, int)
,
drawString(java.lang.String, int, int)
public void drawBytes(byte[] data, int offset, int length, int x, int y)
不建議使用此方法,因為每個位元組都被解釋為 0 到 255 範圍內的 Unicode 程式碼點,因此在該範圍內只能用於繪製拉丁字元。
data
- 要繪製的資料offset
- 資料的起始偏移量length
- 要繪製的位元組數x
- 文本基線的 x 坐標y
- 文本基線的 y 坐標
NullPointerException
- 如果 data
為 null
。
IndexOutOfBoundsException
- 如果 offset
或 length
小於零,或者
offset+length
大於 data
陣列的長度。drawChars(char[], int, int, int, int)
,
drawString(java.lang.String, int, int)
public abstract boolean drawImage(Image img, int x, int y, ImageObserver observer)
此方法在任何情況下都立刻返回,甚至在圖像尚未完整載入,並且還沒有針對當前輸出設備完成抖動和轉換的情況下也是如此。
如果圖像已經完整載入,並且其像素不再發生更改,則 drawImage
返回 true
。否則,drawImage
返回 false
,並且隨著更多的圖像可用或者到了繪製動畫另一幀的時候,載入圖像的進程將通知指定的圖像觀察者。
img
- 要繪製的指定圖像。如果 img
為 null,則此方法不執行任何操作。x
- x 坐標。y
- y 坐標。observer
- 轉換了更多圖像時要通知的物件。
false
;否則返回 true
。Image
,
ImageObserver
,
ImageObserver.imageUpdate(java.awt.Image, int, int, int, int, int)
public abstract boolean drawImage(Image img, int x, int y, int width, int height, ImageObserver observer)
圖像繪製在此圖形上下文坐標空間的指定矩形內部,如果需要,則進行縮放。透明像素不影響該處已存在的像素。
此方法在任何情況下都立刻返回,甚至在整個圖像沒有針對當前輸出設備完成縮放、抖動或轉換的情況下也是如此。如果當前輸出表示形式尚未完成,則 drawImage
返回 false
。隨著更多的圖像可用,載入圖像的進程將通過調用圖像觀察者的 imageUpdate
方法來通知它。
縮放的圖像不一定立刻可用,因為已經針對此輸出設備建構了非縮放的圖像。每種大小的圖像可以被分別快取記憶體,並由各自圖像生產序列中的原始資料產生。
img
- 要繪製的指定圖像。如果 img
為 null,則此方法不執行任何操作。x
- x 坐標。y
- y 坐標。width
- 矩形的寬度。height
- 矩形的高度。observer
- 轉換了更多圖像時要通知的物件。
false
;否則返回 true
。Image
,
ImageObserver
,
ImageObserver.imageUpdate(java.awt.Image, int, int, int, int, int)
public abstract boolean drawImage(Image img, int x, int y, Color bgcolor, ImageObserver observer)
此操作等同於用給定顏色填充指定圖像寬度和高度的矩形,然後在其上繪製圖像,但此操作效率更高。
此方法在任何情況下都立刻返回,甚至在整個圖像尚未載入,並且還沒有針對當前輸出設備完成抖動和轉換的情況下也是如此。
如果圖像已經完全載入,並且其像素不再發生改變,則 drawImage
返回 true
。否則 drawImage
返回 false
,並且隨著更多的圖像可用或者到了繪製動畫另一幀的時候,載入圖像的進程將通知指定的圖像觀察者。
img
- 要繪製的指定圖像。如果 img
為 null,則此方法不執行任何操作。x
- x 坐標。y
- y 坐標。bgcolor
- 在圖像非透明部分下繪製的背景色。observer
- 當轉換了更多圖像時要通知的物件。
false
;否則返回 true
。Image
,
ImageObserver
,
ImageObserver.imageUpdate(java.awt.Image, int, int, int, int, int)
public abstract boolean drawImage(Image img, int x, int y, int width, int height, Color bgcolor, ImageObserver observer)
圖像繪製在此圖形上下文坐標空間的指定矩形內部,如果需要,則進行縮放。以指定的背景色繪製透明像素。此操作等同於用給定顏色填充指定圖像寬度和高度的矩形,然後在其上繪製圖像,但此操作效率更高。
此方法在任何情況下都立刻返回,甚至在整個圖像沒有針對當前輸出設備完成縮放、抖動或轉換的情況下也是如此。如果當前的輸出表示形式尚未完成,則 drawImage
返回 false
。隨著更多的圖像可用,載入圖像的進程將通知指定的圖像觀察者。
縮放的圖像不一定立刻是可用的,因為已經為此輸出設備建構了非縮放的圖像。每種大小的圖像可以被分別快取記憶體,並由各自圖像生產序列中的原始資料產生。
img
- 要繪製的指定圖像。如果 img
為 null,則此方法不執行任何操作。x
- x 坐標。y
- y 坐標。width
- 矩形的寬度。height
- 矩形的高度。bgcolor
- 在圖像非透明部分下繪製的背景色。observer
- 當轉換了更多圖像時要通知的物件。
false
;否則返回 true
。Image
,
ImageObserver
,
ImageObserver.imageUpdate(java.awt.Image, int, int, int, int, int)
public abstract boolean drawImage(Image img, int dx1, int dy1, int dx2, int dy2, int sx1, int sy1, int sx2, int sy2, ImageObserver observer)
此方法在任何情況下都立刻返回,甚至在要繪製的圖像區域沒有針對當前輸出設備完成縮放、抖動或轉換的情況下也是如此。如果當前的輸出表示形式尚未完成,則 drawImage
返回 false
。隨著更多的圖像可用,載入圖像的進程將通知指定的圖像觀察者。
此方法總是用非縮放的圖像來呈現縮放的矩形,並且動態地執行所需的縮放。此操作不使用快取記憶體的縮放圖像。執行圖像從源到目標的縮放:源矩形的第一個坐標被映射到目標矩形的第一個坐標,第二個源坐標被映射到第二個目標坐標。按需要縮放和翻轉子圖像以保持這些映射關係。
img
- 要繪製的指定圖像。如果 img
為 null,則此方法不執行任何操作。dx1
- 目標矩形第一個角的 x 坐標。dy1
- 目標矩形第一個角的 y 坐標。dx2
- 目標矩形第二個角的 x 坐標。dy2
- 目標矩形第二個角的 y 坐標。sx1
- 源矩形第一個角的 x 坐標。sy1
- 源矩形第一個角的 y 坐標。sx2
- 源矩形第二個角的 x 坐標。sy2
- 源矩形第二個角的 y 坐標。observer
- 當縮放並轉換了更多圖像時要通知的物件。
false
;否則返回 true
。Image
,
ImageObserver
,
ImageObserver.imageUpdate(java.awt.Image, int, int, int, int, int)
public abstract boolean drawImage(Image img, int dx1, int dy1, int dx2, int dy2, int sx1, int sy1, int sx2, int sy2, Color bgcolor, ImageObserver observer)
以指定的背景色繪製透明像素。此操作等同於用給定顏色填充指定圖像寬度和高度的矩形,然後在其上繪製圖像,但此操作效率更高。
此方法在任何情況下都立刻返回,甚至在要繪製的圖像區域沒有針對當前輸出設備完成縮放、抖動或轉換的情況下也是如此。如果當前的輸出表示形式尚未完成,則 drawImage
返回 false
。隨著更多的圖像可用,載入圖像的進程將通知指定的圖像觀察者。
此方法總是用非縮放的圖像來呈現縮放的矩形,並且動態地執行所需的縮放。此操作不使用快取記憶體的縮放圖像。執行圖像從源到目標的縮放:源矩形的第一個坐標被映射到目標矩形的第一個坐標,第二個源坐標被映射到第二個目標坐標。按需要縮放和翻轉子圖像以保持這些映射關係。
img
- 要繪製的指定圖像。如果 img
為 null,則此方法不執行任何操作。dx1
- 目標矩形第一個角的 x 坐標。dy1
- 目標矩形第一個角的 y 坐標。dx2
- 目標矩形第二個角的 x 坐標。dy2
- 目標矩形第二個角的 y 坐標。sx1
- 源矩形第一個角的 x 坐標。sy1
- 源矩形第一個角的 y 坐標。sx2
- 源矩形第二個角的 x 坐標。sy2
- 源矩形第二個角的 y 坐標。bgcolor
- 在圖像非透明部分下繪製的背景色。observer
- 當縮放並轉換了更多圖像時要通知的物件。
false
;否則返回 true
。Image
,
ImageObserver
,
ImageObserver.imageUpdate(java.awt.Image, int, int, int, int, int)
public abstract void dispose()
dispose
之後,就不能再使用 Graphics
物件。
Java 程序運行時,可以在一個短時間幀內創建大量的 Graphics
物件。儘管垃圾回收器的終止進程也能夠進行相同的系統資源釋放,但是最好通過調用此方法來手工釋放相關資源,而不是依靠終止進程,因為終止進程需要很長時間才能結束運行。
作為元件 paint
和 update
方法的參數提供的 Graphics 物件,在這些方法返回時將被系統自動釋放。為了提高效率,僅當所使用的 Graphics
物件是由元件或另一個 Graphics
物件直接創建時,開發人員才應在使用完此 Graphics 後調用 dispose
。
finalize()
,
Component.paint(java.awt.Graphics)
,
Component.update(java.awt.Graphics)
,
Component.getGraphics()
,
create()
public void finalize()
Object
中的 finalize
dispose()
public String toString()
Graphics
物件值的 String
物件。
Object
中的 toString
@Deprecated public Rectangle getClipRect()
getClipBounds()
取代。
null
。public boolean hitClip(int x, int y, int width, int height)
x
- 要與剪貼區測試的矩形的 x 坐標y
- 要與剪貼區測試的矩形的 y 坐標width
- 要與剪貼區測試的矩形的寬度height
- 要與剪貼區測試的矩形的高度
true
;否則返回 false
。public Rectangle getClipBounds(Rectangle r)
getClipBounds
不同,後者使用現有的矩形而不是分派一個新矩形。此方法參考使用者剪貼區,使用者剪貼區與設備邊界和視窗可見性關聯的剪貼區無關。如果以前未設置剪貼區,或者已使用 setClip(null)
清除了剪貼區,則此方法返回指定的 Rectangle
。
r
- 要將當前剪貼區域複製到的矩形。此矩形的所有當前值均被覆寫。
|
JavaTM 2 Platform Standard Ed. 6 |
|||||||||
上一個類別 下一個類別 | 框架 無框架 | |||||||||
摘要: 巢狀 | 欄位 | 建構子 | 方法 | 詳細資訊: 欄位 | 建構子 | 方法 |
版權所有 2008 Sun Microsystems, Inc. 保留所有權利。請遵守GNU General Public License, version 2 only。