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 - 當轉換了更多圖像時要通知的對象。
***********************************擴展**************************************
createImage
public Image createImage(ImageProducer producer)根據指定的圖像生成器創建一幅圖像。
參數:
producer - 圖像生成器
返回:
生成的圖像
createImage
public Image createImage(int width,
int height)創建一幅用於雙緩沖的、可在屏幕外繪制的圖像。
參數:
width - 指定的寬度
height - 指定的高度
返回:
一幅屏幕外可繪制的圖像,可用於雙緩沖。如果組件是不可顯示的,則返回值可能為 null。如果 GraphicsEnvironment.isHeadless() 返回 true,則始終發生這種情況。
public abstract boolean drawImage(Image img,
int x,
int y,
ImageObserver observer)繪制指定圖像中當前可用的圖像。圖像的左上角位於該圖形上下文坐標空間的 (x, y)。圖像中的透明像素不影響該處已存在的像素。
此方法在任何情況下都立刻返回,甚至在圖像尚未完整加載,並且還沒有針對當前輸出設備完成抖動和轉換的情況下也是如此。
如果圖像已經完整加載,並且其像素不再發生更改,則 drawImage 返回 true。否則,drawImage 返回 false,並且隨着更多的圖像可用或者到了繪制動畫另一幀的時候,加載圖像的進程將通知指定的圖像觀察者。
參數:
img - 要繪制的指定圖像。如果 img 為 null,則此方法不執行任何操作。
x - x 坐標。
y - y 坐標。
observer - 轉換了更多圖像時要通知的對象。
返回:
如果圖像像素仍在更改,則返回 false;否則返回 true。
drawImage
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。
drawImage
public abstract boolean drawImage(Image img,
int x,
int y,
Color bgcolor,
ImageObserver observer)繪制指定圖像中當前可用的圖像。圖像的左上角位於此圖形上下文坐標空間的 (x, y)。以指定的背景色繪制透明像素。
此操作等同於用給定顏色填充指定圖像寬度和高度的矩形,然后在其上繪制圖像,但此操作效率更高。
此方法在任何情況下都立刻返回,甚至在整個圖像尚未加載,並且還沒有針對當前輸出設備完成抖動和轉換的情況下也是如此。
如果圖像已經完全加載,並且其像素不再發生改變,則 drawImage 返回 true。否則 drawImage 返回 false,並且隨着更多的圖像可用或者到了繪制動畫另一幀的時候,加載圖像的進程將通知指定的圖像觀察者。
參數:
img - 要繪制的指定圖像。如果 img 為 null,則此方法不執行任何操作。
x - x 坐標。
y - y 坐標。
bgcolor - 在圖像非透明部分下繪制的背景色。
observer - 當轉換了更多圖像時要通知的對象。
返回:
如果圖像像素仍在改變,則返回 false;否則返回 true。
drawImage
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。
drawImage
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。
drawImage
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。
copyArea
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 - 復制像素的垂直距離。