JavaTM 2 Platform
Standard Ed. 6

java.awt.image
類別 BufferedImage

java.lang.Object
  繼承者 java.awt.Image
      繼承者 java.awt.image.BufferedImage
所有已實作的介面:
RenderedImage, WritableRenderedImage, Transparency

public class BufferedImage
extends Image
implements WritableRenderedImage, Transparency

BufferedImage 子類別描述具有可存取圖像資料緩衝區的 ImageBufferedImage 由圖像資料的 ColorModelRaster 組成。RasterSampleModel 中 band 的數量和型別必須與 ColorModel 所要求的數量和型別相比對,以表示其顏色和 alpha 份量。所有 BufferedImage 物件的左上角坐標都為 (0, 0)。因此,用來建構 BufferedImage 的任何 Raster 都必須滿足:minX=0 且 minY=0。

此類別依靠 Raster 的資料獲取方法、資料設置方法,以及 ColorModel 的顏色特徵化方法。

另請參見:
ColorModel, Raster, WritableRaster

欄位摘要
static int TYPE_3BYTE_BGR
          表示一個具有 8 位 RGB 顏色份量的圖像,對應於 Windows 樣式的 BGR 顏色模型,具有用 3 位元組存儲的 Blue、Green 和 Red 三種顏色。
static int TYPE_4BYTE_ABGR
          表示一個具有 8 位 RGBA 顏色份量的圖像,具有用 3 位元組存儲的 Blue、Green 和 Red 顏色以及 1 位元組的 alpha。
static int TYPE_4BYTE_ABGR_PRE
          表示一個具有 8 位 RGBA 顏色份量的圖像,具有用 3 位元組存儲的 Blue、Green 和 Red 顏色以及 1 位元組的 alpha。
static int TYPE_BYTE_BINARY
          表示一個不透明的以位元組打套件的 1、2 或 4 位圖像。
static int TYPE_BYTE_GRAY
          表示無符號 byte 灰度級圖像(無索引)。
static int TYPE_BYTE_INDEXED
          表示帶索引的位元組圖像。
static int TYPE_CUSTOM
          沒有識別出圖像型別,因此它必定是一個自定義圖像。
static int TYPE_INT_ARGB
          表示一個圖像,它具有合成整數像素的 8 位 RGBA 顏色份量。
static int TYPE_INT_ARGB_PRE
          表示一個圖像,它具有合成整數像素的 8 位 RGBA 顏色份量。
static int TYPE_INT_BGR
          表示一個具有 8 位 RGB 顏色份量的圖像,對應於 Windows 或 Solaris 樣式的 BGR 顏色模型,具有打包為整數像素的 Blue、Green 和 Red 三種顏色。
static int TYPE_INT_RGB
          表示一個圖像,它具有合成整數像素的 8 位 RGB 顏色份量。
static int TYPE_USHORT_555_RGB
          表示一個具有 5-5-5 RGB 顏色份量(5 位 red、5 位 green、5 位 blue)的圖像,不帶 alpha。
static int TYPE_USHORT_565_RGB
          表示一個具有 5-6-5 RGB 顏色份量(5 位 red、6 位 green、5 位 blue)的圖像,不帶 alpha。
static int TYPE_USHORT_GRAY
          表示一個無符號 short 灰度級圖像(無索引)。
 
從類別 java.awt.Image 繼承的欄位
accelerationPriority, SCALE_AREA_AVERAGING, SCALE_DEFAULT, SCALE_FAST, SCALE_REPLICATE, SCALE_SMOOTH, UndefinedProperty
 
從介面 java.awt.Transparency 繼承的欄位
BITMASK, OPAQUE, TRANSLUCENT
 
建構子摘要
BufferedImage(ColorModel cm, WritableRaster raster, boolean isRasterPremultiplied, Hashtable<?,?> properties)
          建構一個具有指定 ColorModelRaster 的新 BufferedImage
BufferedImage(int width, int height, int imageType)
          建構一個型別為預定義圖像型別之一的 BufferedImage
BufferedImage(int width, int height, int imageType, IndexColorModel cm)
          建構一個型別為預定義圖像型別之一的 BufferedImage:TYPE_BYTE_BINARY 或 TYPE_BYTE_INDEXED。
 
方法摘要
 void addTileObserver(TileObserver to)
          添加一個 tile observer。
 void coerceData(boolean isAlphaPremultiplied)
          強制該資料與 isAlphaPremultiplied 變數中指定的狀態相比對。
 WritableRaster copyData(WritableRaster outRaster)
          計算 BufferedImage 的一個任意矩形區域,並將其複製到指定的 WritableRaster
 Graphics2D createGraphics()
          創建一個 Graphics2D,可以將它繪製到此 BufferedImage 中。
 WritableRaster getAlphaRaster()
          返回一個 WritableRaster,它使用支持單獨空間 alpha 通道的 ColorModel 物件(比如 ComponentColorModelDirectColorModel)表示 BufferedImage 物件的 alpha 通道。
 ColorModel getColorModel()
          返回 ColorModel
 Raster getData()
          以一個大 tile 的形式返回圖像。
 Raster getData(Rectangle rect)
          計算並返回 BufferedImage 的一個任意區域。
 Graphics getGraphics()
          此方法返回 Graphics2D,但此處是出於向後相容性的考慮。
 int getHeight()
          返回 BufferedImage 的高度。
 int getHeight(ImageObserver observer)
          返回 BufferedImage 的高度。
 int getMinTileX()
          返回 x 方向的最小 tile 索引。
 int getMinTileY()
          返回 y 方向的最小 tile 索引。
 int getMinX()
          返回此 BufferedImage 的最小 x 坐標。
 int getMinY()
          返回此 BufferedImage 的最小 y 坐標。
 int getNumXTiles()
          返回 x 方向的 tile 數。
 int getNumYTiles()
          返回 y 方向的 tile 數。
 Object getProperty(String name)
          按名稱返回圖像的屬性。
 Object getProperty(String name, ImageObserver observer)
          按名稱返回圖像的屬性。
 String[] getPropertyNames()
          返回由 getProperty(String) 識別的名稱陣列;如果沒有識別出屬性名,則返回 null
 WritableRaster getRaster()
          返回 WritableRaster
 int getRGB(int x, int y)
          返回預設 RGB 顏色模型 (TYPE_INT_ARGB) 和預設 sRGB 顏色空間中的整數像素。
 int[] getRGB(int startX, int startY, int w, int h, int[] rgbArray, int offset, int scansize)
          從圖像資料的某一部分返回預設 RGB 顏色模型 (TYPE_INT_ARGB) 和預設 sRGB 顏色空間中整數像素陣列。
 SampleModel getSampleModel()
          返回與此 BufferedImage 關聯的 SampleModel
 ImageProducer getSource()
          返回產生該圖像像素的物件。
 Vector<RenderedImage> getSources()
          返回 RenderedImage 物件的 Vector,該物件是此 BufferedImage 圖像資料的直接來源,而不是這些直接來源的來源。
 BufferedImage getSubimage(int x, int y, int w, int h)
          返回由指定矩形區域定義的子圖像。
 Raster getTile(int tileX, int tileY)
          返回 tile (tileXtileY)。
 int getTileGridXOffset()
          返回 tile 網格相對於原點的 x 偏移量(例如,tile (0, 0) 位置的 x 坐標)。
 int getTileGridYOffset()
          返回 tile 網格相對於原點的 y 偏移量(例如,tile (0, 0) 位置的 y 坐標)。
 int getTileHeight()
          返回 tile 高度(以像素為單位)。
 int getTileWidth()
          返回 tile 寬度(以像素為單位)。
 int getTransparency()
          返回透明度。
 int getType()
          返回圖像型別。
 int getWidth()
          返回 BufferedImage 的寬度。
 int getWidth(ImageObserver observer)
          返回 BufferedImage 的寬度。
 WritableRaster getWritableTile(int tileX, int tileY)
          為寫入簽出一個 tile。
 Point[] getWritableTileIndices()
          返回 Point 物件的陣列,它指示為寫入簽出了哪些 tile。
 boolean hasTileWriters()
          返回是否有為寫入簽出的 tile。
 boolean isAlphaPremultiplied()
          返回是否已預乘以 alpha。
 boolean isTileWritable(int tileX, int tileY)
          返回當前是否為寫入簽出 tile。
 void releaseWritableTile(int tileX, int tileY)
          放棄寫入一個 tile 的權限。
 void removeTileObserver(TileObserver to)
          移除一個 tile observer。
 void setData(Raster r)
          將圖像的矩形區域設置為指定 Raster r 的內容,假定該區域與 BufferedImage 處於相同的坐標空間。
 void setRGB(int x, int y, int rgb)
          將此 BufferedImage 中的像素設置為指定的 RGB 值。
 void setRGB(int startX, int startY, int w, int h, int[] rgbArray, int offset, int scansize)
          將預設 RGB 顏色模型 (TYPE_INT_ARGB) 和預設 sRGB 顏色空間中的整數像素陣列設置為圖像資料的一部分。
 String toString()
          返回此 BufferedImage 物件及其值的 String 表示形式。
 
從類別 java.awt.Image 繼承的方法
flush, getAccelerationPriority, getCapabilities, getScaledInstance, setAccelerationPriority
 
從類別 java.lang.Object 繼承的方法
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
 

欄位詳細資訊

TYPE_CUSTOM

public static final int TYPE_CUSTOM
沒有識別出圖像型別,因此它必定是一個自定義圖像。此型別僅用作 getType() 方法的返回值。

另請參見:
常數欄位值

TYPE_INT_RGB

public static final int TYPE_INT_RGB
表示一個圖像,它具有合成整數像素的 8 位 RGB 顏色份量。該圖像具有不帶 alpha 的 DirectColorModel。當具有透明 alpha 的資料存儲在此型別的圖像中時,必須將顏色資料調整為非預乘形式並丟棄 alpha,如 AlphaComposite 文檔中的描述。

另請參見:
常數欄位值

TYPE_INT_ARGB

public static final int TYPE_INT_ARGB
表示一個圖像,它具有合成整數像素的 8 位 RGBA 顏色份量。該圖像具有帶 alpha 的 DirectColorModel。認為此圖像中的顏色資料沒有預乘以 alpha。當使用此型別作為 BufferedImage 建構子的 imageType 參數時,所創建的圖像與 JDK1.1 和更早期版本中創建的圖像一致。

另請參見:
常數欄位值

TYPE_INT_ARGB_PRE

public static final int TYPE_INT_ARGB_PRE
表示一個圖像,它具有合成整數像素的 8 位 RGBA 顏色份量。該圖像具有帶 alpha 的 DirectColorModel。認為此圖像中的顏色資料已預乘以 alpha。

另請參見:
常數欄位值

TYPE_INT_BGR

public static final int TYPE_INT_BGR
表示一個具有 8 位 RGB 顏色份量的圖像,對應於 Windows 或 Solaris 樣式的 BGR 顏色模型,具有打包為整數像素的 Blue、Green 和 Red 三種顏色。不存在 alpha。該圖像具有一個 DirectColorModel。當具有透明 alpha 的資料存儲在此型別的圖像中時,必須將顏色資料調整為非預乘形式並丟棄 alpha,如 AlphaComposite 文檔中的描述。

另請參見:
常數欄位值

TYPE_3BYTE_BGR

public static final int TYPE_3BYTE_BGR
表示一個具有 8 位 RGB 顏色份量的圖像,對應於 Windows 樣式的 BGR 顏色模型,具有用 3 位元組存儲的 Blue、Green 和 Red 三種顏色。不存在 alpha。該圖像具有一個 ComponentColorModel。當具有透明 alpha 的資料存儲在此型別的圖像中時,必須將顏色資料調整為非預乘形式並丟棄 alpha,如 AlphaComposite 文檔中的描述。

另請參見:
常數欄位值

TYPE_4BYTE_ABGR

public static final int TYPE_4BYTE_ABGR
表示一個具有 8 位 RGBA 顏色份量的圖像,具有用 3 位元組存儲的 Blue、Green 和 Red 顏色以及 1 位元組的 alpha。該圖像具有帶 alpha 的 ComponentColorModel。認為此圖像中的顏色資料沒有預乘以 alpha。按照每個像素中位元組位址從低到高的順序 A、B、G、R 將位元組資料插入單個位元組陣列中。

另請參見:
常數欄位值

TYPE_4BYTE_ABGR_PRE

public static final int TYPE_4BYTE_ABGR_PRE
表示一個具有 8 位 RGBA 顏色份量的圖像,具有用 3 位元組存儲的 Blue、Green 和 Red 顏色以及 1 位元組的 alpha。該圖像具有帶 alpha 的 ComponentColorModel。認為此圖像中的顏色資料已預乘以 alpha。按照每個像素中位元組位址從低到高的順序 A、B、G、R 將位元組資料插入單個位元組陣列中。

另請參見:
常數欄位值

TYPE_USHORT_565_RGB

public static final int TYPE_USHORT_565_RGB
表示一個具有 5-6-5 RGB 顏色份量(5 位 red、6 位 green、5 位 blue)的圖像,不帶 alpha。該圖像具有一個 DirectColorModel。當具有透明 alpha 的資料存儲在此型別的圖像中時,必須將顏色資料調整為非預乘形式並丟棄 alpha,如 AlphaComposite 文檔中的描述。

另請參見:
常數欄位值

TYPE_USHORT_555_RGB

public static final int TYPE_USHORT_555_RGB
表示一個具有 5-5-5 RGB 顏色份量(5 位 red、5 位 green、5 位 blue)的圖像,不帶 alpha。此圖像具有一個 DirectColorModel。當具有透明 alpha 的資料存儲在此型別的圖像中時,必須將顏色資料調整為非預乘形式並丟棄 alpha,如 AlphaComposite 文檔中的描述。

另請參見:
常數欄位值

TYPE_BYTE_GRAY

public static final int TYPE_BYTE_GRAY
表示無符號 byte 灰度級圖像(無索引)。該圖像具有帶 CS_GRAY ColorSpaceComponentColorModel。當具有透明 alpha 的資料存儲在此型別的圖像中時,必須將顏色資料調整為非預乘形式並丟棄 alpha,如 AlphaComposite 文檔中的描述。

另請參見:
常數欄位值

TYPE_USHORT_GRAY

public static final int TYPE_USHORT_GRAY
表示一個無符號 short 灰度級圖像(無索引)。該圖像具有帶 CS_GRAY ColorSpaceComponentColorModel。當具有透明 alpha 的資料存儲在此型別的圖像中時,必須將顏色資料調整為非預乘形式並丟棄 alpha,如 AlphaComposite 文檔中的描述。

另請參見:
常數欄位值

TYPE_BYTE_BINARY

public static final int TYPE_BYTE_BINARY
表示一個不透明的以位元組打套件的 1、2 或 4 位圖像。該圖像具有不帶 alpha 的 IndexColorModel。當此型別用作 BufferedImage 建構子(帶 imageType 參數而不是 ColorModel 參數)的 imageType 參數時,創建一個 1 位圖像,且其 IndexColorModel 具有預設 sRGB ColorSpace 中的兩種顏色:{0, 0, 0} 和 {255, 255, 255}。

每個像素 2 位或 4 位的圖像可以通過 BufferedImage 建構子建構,該建構子帶一個 ColorModel 參數,這通過提供一個具有合適映射大小的 ColorModel 實作。

每個像素 8 位的圖像應該使用 TYPE_BYTE_INDEXEDTYPE_BYTE_GRAY 圖像型別,具體取決於它們的 ColorModel

當顏色資料存儲在此型別的圖像中時,由 IndexColorModel 確定 colormap 中最接近的顏色,並存儲得到的索引。根據 IndexColorModel colormap 中的顏色,可以得到 alpha 份量或顏色份量的近似值及丟失的 alpha 或顏色份量。

另請參見:
常數欄位值

TYPE_BYTE_INDEXED

public static final int TYPE_BYTE_INDEXED
表示帶索引的位元組圖像。當此型別用作 BufferedImage 建構子(帶 imageType 參數而不帶 ColorModel 參數 )的 imageType 參數時,創建一個 IndexColorModel,它具有 256 色 6/6/6 三色調色板,其餘從 216 到 255 的顏色由預設 sRGB ColorSpace 的灰度級值填充。

當顏色資料存儲在此型別的圖像中時,由 IndexColorModel 確定 colormap 中最接近的顏色,並存儲得到的索引。根據 IndexColorModel colormap 中的顏色,可以得到 alpha 份量或顏色份量的近似值及丟失的 alpha 或顏色份量。

另請參見:
常數欄位值
建構子詳細資訊

BufferedImage

public BufferedImage(int width,
                     int height,
                     int imageType)
建構一個型別為預定義圖像型別之一的 BufferedImage。該圖像的 ColorSpace 為預設的 sRGB 空間。

參數:
width - 所創建圖像的寬度
height - 所創建圖像的高度
imageType - 所創建圖像的型別
另請參見:
ColorSpace, TYPE_INT_RGB, TYPE_INT_ARGB, TYPE_INT_ARGB_PRE, TYPE_INT_BGR, TYPE_3BYTE_BGR, TYPE_4BYTE_ABGR, TYPE_4BYTE_ABGR_PRE, TYPE_BYTE_GRAY, TYPE_USHORT_GRAY, TYPE_BYTE_BINARY, TYPE_BYTE_INDEXED, TYPE_USHORT_565_RGB, TYPE_USHORT_555_RGB

BufferedImage

public BufferedImage(int width,
                     int height,
                     int imageType,
                     IndexColorModel cm)
建構一個型別為預定義圖像型別之一的 BufferedImage:TYPE_BYTE_BINARY 或 TYPE_BYTE_INDEXED。

如果圖像型別為 TYPE_BYTE_BINARY,則使用顏色模型中的條目數確定圖像的每像素具有 1、2 還是 4 位。如果顏色模型具有 1 或 2 個條目,則該圖像每像素具有 1 位。如果顏色模型具有 3 或 4 個條目,則該圖像的每像素具有 2 位。如果顏色模型的條目數在 5 到 16 之間,則該圖像的每像素具有 4 位。否則,將拋出 IllegalArgumentException。

參數:
width - 所創建圖像的寬度
height - 所創建圖像的高度
imageType - 所創建圖像的型別
cm - 所創建圖像的 IndexColorModel
拋出:
IllegalArgumentException - 如果 imageType 不為 TYPE_BYTE_BINARY 或 TYPE_BYTE_INDEXED,或者 imageType 為 TYPE_BYTE_BINARY 且顏色映射的條目數大於 16。
另請參見:
TYPE_BYTE_BINARY, TYPE_BYTE_INDEXED

BufferedImage

public BufferedImage(ColorModel cm,
                     WritableRaster raster,
                     boolean isRasterPremultiplied,
                     Hashtable<?,?> properties)
建構一個具有指定 ColorModelRaster 的新 BufferedImage。如果 RasterSampleModel 中 band 的數量和型別與 ColorModel(表示其顏色和 alpha 份量)所要求的數量和型別不比對,則拋出 RasterFormatException。此方法可以將 Raster 顏色資料乘以或除以 alpha,以比對 ColorModel 中的 alphaPremultiplied 狀態。可以通過傳入 String/Object 對的 Hashtable 建立此 BufferedImage 的屬性。

參數:
cm - 新圖像的 ColorModel
raster - 圖像資料的 Raster
isRasterPremultiplied - 如果為 true,則 raster 中的資料已預乘以 alpha。
properties - String/Object 對的 Hashtable
拋出:
RasterFormatException - 如果 RasterSampleModel 中 band 的數量和型別與 ColorModel(表示其顏色和 alpha 份量)所要求的數量和型別不比對。
IllegalArgumentException - 如果 rastercm 不一致
另請參見:
ColorModel, Raster, WritableRaster
方法詳細資訊

getType

public int getType()
返回圖像型別。如果它不是已知的型別之一,則返回 TYPE_CUSTOM 。

返回:
BufferedImage 的圖像型別。
另請參見:
TYPE_INT_RGB, TYPE_INT_ARGB, TYPE_INT_ARGB_PRE, TYPE_INT_BGR, TYPE_3BYTE_BGR, TYPE_4BYTE_ABGR, TYPE_4BYTE_ABGR_PRE, TYPE_BYTE_GRAY, TYPE_BYTE_BINARY, TYPE_BYTE_INDEXED, TYPE_USHORT_GRAY, TYPE_USHORT_565_RGB, TYPE_USHORT_555_RGB, TYPE_CUSTOM

getColorModel

public ColorModel getColorModel()
返回 ColorModel

指定者:
介面 RenderedImage 中的 getColorModel
返回:
BufferedImageColorModel

getRaster

public WritableRaster getRaster()
返回 WritableRaster

返回:
BufferedImageWriteableRaster

getAlphaRaster

public WritableRaster getAlphaRaster()
返回一個 WritableRaster,它使用支持單獨空間 alpha 通道的 ColorModel 物件(比如 ComponentColorModelDirectColorModel)表示 BufferedImage 物件的 alpha 通道。如果此圖像中沒有與 ColorModel 關聯的 alpha 通道,則返回 null。此方法假定 IndexColorModel 之外的所有 ColorModel 物件都具有一個單獨的 alpha 通道(如果 ColorModel 支持 alpha),該通道存儲為圖像資料的最後一個 band。如果該圖像使用尋找表中一個具有 alpha 的 IndexColorModel,則此方法返回 null,因為不存在空間上離散的 alpha 通道。此方法創建一個新的 WritableRaster,但是共享原資料陣列。

返回:
WritableRaster;如果此 BufferedImage 不具有與其 ColorModel 關聯的 alpha 通道,則返回 null

getRGB

public int getRGB(int x,
                  int y)
返回預設 RGB 顏色模型 (TYPE_INT_ARGB) 和預設 sRGB 顏色空間中的整數像素。如果此預設模型與該圖像的 ColorModel 不比對,則發生顏色轉換。在使用此方法所返回的資料中,每個顏色份量只有 8 位精度。

如果坐標不在邊界內部,則拋出 ArrayOutOfBoundsException。但是,不保證進行顯式的邊界檢查。

參數:
x - 像素的 X 坐標,從該坐標可以得到預設 RGB 顏色模型和 sRGB 顏色空間中的像素
y - 像素的 Y 坐標,從該坐標可以得到預設 RGB 顏色模型和 sRGB 顏色空間中的像素
返回:
預設 RGB 顏色模型和預設 sRGB 顏色空間中的整數像素。
另請參見:
setRGB(int, int, int), setRGB(int, int, int, int, int[], int, int)

getRGB

public int[] getRGB(int startX,
                    int startY,
                    int w,
                    int h,
                    int[] rgbArray,
                    int offset,
                    int scansize)
從圖像資料的某一部分返回預設 RGB 顏色模型 (TYPE_INT_ARGB) 和預設 sRGB 顏色空間中整數像素陣列。如果該預設模型與該圖像的 ColorModel 不比對,則發生顏色轉換。在使用此方法所返回的資料中,每個顏色份量只有 8 位精度。通過圖像中指定的坐標 (x, y),ARGB 像素可以按如下方式存取:

    pixel   = rgbArray[offset + (y-startY)*scansize + (x-startX)]; 

如果該區域不在邊界內部,則拋出 ArrayOutOfBoundsException。但是,不保證進行顯式的邊界檢查。

參數:
startX - 起始 X 坐標
startY - 起始 Y 坐標
w - 區域的寬度
h - 區域的高度
rgbArray - 如果不為 null,則在此寫入 rgb 像素
offset - rgbArray 中的偏移量
scansize - rgbArray 的掃瞄行間距
返回:
RGB 像素陣列。
另請參見:
setRGB(int, int, int), setRGB(int, int, int, int, int[], int, int)

setRGB

public void setRGB(int x,
                   int y,
                   int rgb)
將此 BufferedImage 中的像素設置為指定的 RGB 值。假定該像素使用預設 RGB 顏色模型、TYPE_INT_ARGB 和預設 sRGB 顏色空間。對於具有 IndexColorModel 的圖像,則選擇最接近的顏色的索引。

如果坐標不在邊界內部,則拋出 ArrayOutOfBoundsException。但是,不保證進行顯式的邊界檢查。

參數:
x - 要設置的像素的 X 坐標
y - 要設置的像素的 Y 坐標
rgb - RGB 值
另請參見:
getRGB(int, int), getRGB(int, int, int, int, int[], int, int)

setRGB

public void setRGB(int startX,
                   int startY,
                   int w,
                   int h,
                   int[] rgbArray,
                   int offset,
                   int scansize)
將預設 RGB 顏色模型 (TYPE_INT_ARGB) 和預設 sRGB 顏色空間中的整數像素陣列設置為圖像資料的一部分。如果該預設模型與該圖像的 ColorModel 不比對,則發生顏色轉換。在使用此方法所返回的資料中,每個顏色份量只有 8 位精度。通過此圖像中指定的坐標 (x, y),ARGB 像素可以按如下方式存取:
    pixel   = rgbArray[offset + (y-startY)*scansize + (x-startX)];
 
警告:無抖動發生。

如果該區域不在邊界內部,則拋出 ArrayOutOfBoundsException。但是,不保證進行顯式的邊界檢查。

參數:
startX - 起始 X 坐標
startY - 起始 Y 坐標
w - 區域的寬度
h - 區域的高度
rgbArray - rgb 像素
offset - rgbArray 中的偏移量
scansize - rgbArray 的掃瞄行間距
另請參見:
getRGB(int, int), getRGB(int, int, int, int, int[], int, int)

getWidth

public int getWidth()
返回 BufferedImage 的寬度。

指定者:
介面 RenderedImage 中的 getWidth
返回:
BufferedImage 的寬度

getHeight

public int getHeight()
返回 BufferedImage 的高度。

指定者:
介面 RenderedImage 中的 getHeight
返回:
BufferedImage 的高度

getWidth

public int getWidth(ImageObserver observer)
返回 BufferedImage 的寬度。

指定者:
類別 Image 中的 getWidth
參數:
observer - 忽略
返回:
BufferedImage 的寬度
另請參見:
Image.getHeight(java.awt.image.ImageObserver), ImageObserver

getHeight

public int getHeight(ImageObserver observer)
返回 BufferedImage 的高度。

指定者:
類別 Image 中的 getHeight
參數:
observer - 忽略
返回:
BufferedImage 的高度
另請參見:
Image.getWidth(java.awt.image.ImageObserver), ImageObserver

getSource

public ImageProducer getSource()
返回產生該圖像像素的物件。

指定者:
類別 Image 中的 getSource
返回:
用於產生該圖像像素的 ImageProducer
另請參見:
ImageProducer

getProperty

public Object getProperty(String name,
                          ImageObserver observer)
按名稱返回圖像的屬性。個別屬性名可用各種圖像格式定義。如果屬性不是為特定圖像定義的,則此方法返回 UndefinedProperty 欄位。如果此圖像的屬性目前未知,則此方法返回 null,然後通知 ImageObserver 物件。屬性名 "comment" 應該用於存儲可選註釋,它可以作為對圖像的描述(來源或作者)呈現給使用者。

指定者:
類別 Image 中的 getProperty
參數:
name - 屬性名
observer - 接收關於圖像資訊通知的 ImageObserver
返回:
Object,它是由指定 name 所參考的屬性;如果此圖像的屬性未知,則返回 null
拋出:
NullPointerException - 如果屬性名為 null。
另請參見:
ImageObserver, Image.UndefinedProperty

getProperty

public Object getProperty(String name)
按名稱返回圖像的屬性。

指定者:
介面 RenderedImage 中的 getProperty
參數:
name - 屬性名
返回:
Object,它是由指定 name 所參考的屬性。
拋出:
NullPointerException - 如果屬性名為 null。
另請參見:
Image.UndefinedProperty

getGraphics

public Graphics getGraphics()
此方法返回 Graphics2D,但此處是出於向後相容性的考慮。createGraphics 更為方便,因為它被宣告為返回 Graphics2D

指定者:
類別 Image 中的 getGraphics
返回:
Graphics2D,可用於繪製此圖像。
另請參見:
Graphics, Component.createImage(int, int)

createGraphics

public Graphics2D createGraphics()
創建一個 Graphics2D,可以將它繪製到此 BufferedImage 中。

返回:
Graphics2D,可用於繪製此圖像。

getSubimage

public BufferedImage getSubimage(int x,
                                 int y,
                                 int w,
                                 int h)
返回由指定矩形區域定義的子圖像。返回的 BufferedImage 與源圖像共享相同的資料陣列。

參數:
x - 指定矩形區域左上角的 X 坐標
y - 指定矩形區域左上角的 Y 坐標
w - 指定矩形區域的寬度
h - 指定矩形區域的高度
返回:
BufferedImage,它是此 BufferedImage 的子圖像。
拋出:
RasterFormatException - 如果指定區域不包含在此 BufferedImage 中。

isAlphaPremultiplied

public boolean isAlphaPremultiplied()
返回是否已預乘以 alpha。如果不存在 alpha,則返回 false

返回:
如果已經預乘以 alpha,則返回 true;否則返回 false

coerceData

public void coerceData(boolean isAlphaPremultiplied)
強制該資料與 isAlphaPremultiplied 變數中指定的狀態相比對。可以將顏色 raster 資料乘以或除以 alpha,如果該資料處於正確狀態,則不執行任何操作。

參數:
isAlphaPremultiplied - 如果已經預乘以 alpha,則為 true;否則為 false

toString

public String toString()
返回此 BufferedImage 物件及其值的 String 表示形式。

覆寫:
類別 Object 中的 toString
返回:
BufferedImageString 表示形式。

getSources

public Vector<RenderedImage> getSources()
返回 RenderedImage 物件的 Vector,該物件是此 BufferedImage 圖像資料的直接來源,而不是這些直接來源的來源。如果 BufferedImage 沒有關於其直接來源的資訊,則此方法返回 null。如果 BufferedImage 沒有直接來源,則它返回一個空 Vector

指定者:
介面 RenderedImage 中的 getSources
返回:
一個 Vector,它包含此 BufferedImage 物件圖像日期的直接來源;如果此 BufferedImage 沒有關於其直接來源的資訊,則返回 null;如果此 BufferedImage 沒有直接來源,則返回一個空 Vector

getPropertyNames

public String[] getPropertyNames()
返回由 getProperty(String) 識別的名稱陣列;如果沒有識別出屬性名,則返回 null

指定者:
介面 RenderedImage 中的 getPropertyNames
返回:
一個 String 陣列,它包含 getProperty(String) 識別的所有屬性名;如果沒有識別出屬性名,則返回 null

getMinX

public int getMinX()
返回此 BufferedImage 的最小 x 坐標。最小 x 坐標始終為零。

指定者:
介面 RenderedImage 中的 getMinX
返回:
BufferedImage 的最小 x 坐標。

getMinY

public int getMinY()
返回此 BufferedImage 的最小 y 坐標。最小 y 坐標始終為零。

指定者:
介面 RenderedImage 中的 getMinY
返回:
BufferedImage 的最小 y 坐標。

getSampleModel

public SampleModel getSampleModel()
返回與此 BufferedImage 關聯的 SampleModel

指定者:
介面 RenderedImage 中的 getSampleModel
返回:
BufferedImageSampleModel

getNumXTiles

public int getNumXTiles()
返回 x 方向的 tile 數。它始終為 1。

指定者:
介面 RenderedImage 中的 getNumXTiles
返回:
x 方向的 tile 數。

getNumYTiles

public int getNumYTiles()
返回 y 方向的 tile 數。它始終為 1。

指定者:
介面 RenderedImage 中的 getNumYTiles
返回:
y 方向的 tile 數。

getMinTileX

public int getMinTileX()
返回 x 方向的最小 tile 索引。它始終為零。

指定者:
介面 RenderedImage 中的 getMinTileX
返回:
x 方向的最小 tile 索引。

getMinTileY

public int getMinTileY()
返回 y 方向的最小 tile 索引。它始終為零。

指定者:
介面 RenderedImage 中的 getMinTileY
返回:
y 方向的最小 tile 索引。

getTileWidth

public int getTileWidth()
返回 tile 寬度(以像素為單位)。

指定者:
介面 RenderedImage 中的 getTileWidth
返回:
tile 寬度(以像素為單位)。

getTileHeight

public int getTileHeight()
返回 tile 高度(以像素為單位)。

指定者:
介面 RenderedImage 中的 getTileHeight
返回:
tile 高度(以像素為單位)。

getTileGridXOffset

public int getTileGridXOffset()
返回 tile 網格相對於原點的 x 偏移量(例如,tile (0, 0) 位置的 x 坐標)。它始終為零。

指定者:
介面 RenderedImage 中的 getTileGridXOffset
返回:
tile 網格的 x 偏移量。

getTileGridYOffset

public int getTileGridYOffset()
返回 tile 網格相對於原點的 y 偏移量(例如,tile (0, 0) 位置的 y 坐標)。它始終為零。

指定者:
介面 RenderedImage 中的 getTileGridYOffset
返回:
tile 網格的 y 偏移量。

getTile

public Raster getTile(int tileX,
                      int tileY)
返回 tile (tileXtileY)。注意,tileXtileY 是 tile 陣列中的索引,而不是像素位置。返回的 Raster 是動態的,這意味著如果圖像改變,則 Raster 將更新。

指定者:
介面 RenderedImage 中的 getTile
參數:
tileX - tile 陣列中所請求的 tile 的 x 索引
tileY - tile 陣列中所請求的 tile 的 y 索引
返回:
Raster,它是由參數 tileXtileY 定義的 tile。
拋出:
ArrayIndexOutOfBoundsException - 如果 tileXtileY 都不等於 0

getData

public Raster getData()
以一個大 tile 的形式返回圖像。返回的 Raster 是圖像資料的副本,圖像改變時它不會更新。

指定者:
介面 RenderedImage 中的 getData
返回:
Raster,它是圖像資料的副本。
另請參見:
setData(Raster)

getData

public Raster getData(Rectangle rect)
計算並返回 BufferedImage 的一個任意區域。返回的 Raster 是圖像資料的副本,圖像改變時它不會更新。

指定者:
介面 RenderedImage 中的 getData
參數:
rect - 要返回的 BufferedImage 區域。
返回:
Raster,它是 BufferedImage 指定區域的圖像資料的副本
另請參見:
setData(Raster)

copyData

public WritableRaster copyData(WritableRaster outRaster)
計算 BufferedImage 的一個任意矩形區域,並將其複製到指定的 WritableRaster。要計算的區域由指定 WritableRaster 的邊界確定。指定 WritableRaster 必須具有與此圖像相容的 SampleModel。如果 outRasternull,則創建一個合適的 WritableRaster

指定者:
介面 RenderedImage 中的 copyData
參數:
outRaster - 保存圖像返回部分的 WritableRaster, 或者為 null
返回:
對所提供的或創建的 WritableRaster 的參考。

setData

public void setData(Raster r)
將圖像的矩形區域設置為指定 Raster r 的內容,假定該區域與 BufferedImage 處於相同的坐標空間。操作被限制在 BufferedImage 的邊界內。

指定者:
介面 WritableRenderedImage 中的 setData
參數:
r - 指定的 Raster
另請參見:
getData(), getData(Rectangle)

addTileObserver

public void addTileObserver(TileObserver to)
添加一個 tile observer。如果該 observer 已經存在,則它接收多個通知。

指定者:
介面 WritableRenderedImage 中的 addTileObserver
參數:
to - 指定的 TileObserver

removeTileObserver

public void removeTileObserver(TileObserver to)
移除一個 tile observer。如果 observer 沒有註冊,則不發生任何操作。如果 observer 已對多個通知註冊,則現在其註冊的通知數將減少一個。

指定者:
介面 WritableRenderedImage 中的 removeTileObserver
參數:
to - 指定的 TileObserver

isTileWritable

public boolean isTileWritable(int tileX,
                              int tileY)
返回當前是否為寫入簽出 tile。

指定者:
介面 WritableRenderedImage 中的 isTileWritable
參數:
tileX - tile 的 x 索引。
tileY - tile 的 y 索引。
返回:
如果為寫入簽出了由指定索引所指定的 tile,則返回 true;否則,返回 false
拋出:
ArrayIndexOutOfBoundsException - 如果 tileXtileY 都不等於 0

getWritableTileIndices

public Point[] getWritableTileIndices()
返回 Point 物件的陣列,它指示為寫入簽出了哪些 tile。如果沒有簽出任何 tile,則返回 null

指定者:
介面 WritableRenderedImage 中的 getWritableTileIndices
返回:
一個 Point 陣列,它指示為寫入簽出的 tile;如果沒有為寫入簽出的 tile,則返回 null

hasTileWriters

public boolean hasTileWriters()
返回是否有為寫入簽出的 tile。語義上等效於
 (getWritableTileIndices() != null)。
 

指定者:
介面 WritableRenderedImage 中的 hasTileWriters
返回:
如果為寫入簽出了任何 tile,則返回 true;否則返回 false

getWritableTile

public WritableRaster getWritableTile(int tileX,
                                      int tileY)
為寫入簽出一個 tile。當一個 tile 從沒有 writer 變為有一個 writer 時,通知所有已註冊的 TileObserver

指定者:
介面 WritableRenderedImage 中的 getWritableTile
參數:
tileX - tile 的 x 索引
tileY - tile 的 y 索引
返回:
一個 WritableRaster,它是為寫入而簽出的、由指定索引指示的 tile。

releaseWritableTile

public void releaseWritableTile(int tileX,
                                int tileY)
放棄寫入一個 tile 的權限。如果調用者繼續寫入 tile,則結果是不確定的。此方法的調用應該與 getWritableTile(int, int) 的調用成對出現。任何其他用法都會導致不明確的結果。當 tile 從有一個 writer 變為沒有 writer 時,通知所有已註冊的 TileObserver

指定者:
介面 WritableRenderedImage 中的 releaseWritableTile
參數:
tileX - tile 的 x 索引
tileY - tile 的 y 索引

getTransparency

public int getTransparency()
返回透明度。返回 OPAQUE、BITMASK 或 TRANSLUCENT 中的一個。

指定者:
介面 Transparency 中的 getTransparency
返回:
BufferedImage 的透明度。
從以下版本開始:
1.5
另請參見:
Transparency.OPAQUE, Transparency.BITMASK, Transparency.TRANSLUCENT

JavaTM 2 Platform
Standard Ed. 6

提交錯誤或意見

版權所有 2008 Sun Microsystems, Inc. 保留所有權利。請遵守GNU General Public License, version 2 only