|
JavaTM 2 Platform Standard Ed. 6 |
|||||||||
| 上一個類別 下一個類別 | 框架 無框架 | |||||||||
| 摘要: 巢狀 | 欄位 | 建構子 | 方法 | 詳細資訊: 欄位 | 建構子 | 方法 | |||||||||
java.lang.Objectjava.awt.image.ImageFilter
java.awt.image.RGBImageFilter
public abstract class RGBImageFilter
此類別提供一種便捷方式創建 ImageFilter,創建的 ImageFilter 可修改使用預設 RGB ColorModel 圖像的像素。這意味著要與 FilteredImageSource 物件結合使用來產生現有圖像的過濾形式。該類別是一個抽象類別,它提供引導所有像素資料通過單獨某個方法所需的調用,其中,無論 ImageProducer 正使用何種 ColorModel,該方法每次都會轉換預設 RGB ColorModel 中的一個像素。創建可用圖像過濾器需要定義的惟一方法是 filterRGB 方法。以下是定義交換圖像中紅色份量和藍色份量過濾器的一個例子:
class RedBlueSwapFilter extends RGBImageFilter {
public RedBlueSwapFilter() {
// The filter's operation does not depend on the
// pixel's location, so IndexColorModels can be
// filtered directly.
canFilterIndexColorModel = true;
}
public int filterRGB(int x, int y, int rgb) {
return ((rgb & 0xff00ff00)
| ((rgb & 0xff0000) >> 16)
| ((rgb & 0xff) << 16));
}
}
FilteredImageSource,
ImageFilter,
ColorModel.getRGBdefault()| 欄位摘要 | |
|---|---|
protected boolean |
canFilterIndexColorModel
此布林值指示是否可以接受用 filterRGB 方法的顏色過濾替代逐像素過濾,並應用於 IndexColorModel 物件的顏色表項。 |
protected ColorModel |
newmodel
使用者調用 substituteColorModel 時替換 origmodel 的 ColorModel。 |
protected ColorModel |
origmodel
使用者調用 substituteColorModel 時將由 newmodel 替換的 ColorModel。 |
| 從類別 java.awt.image.ImageFilter 繼承的欄位 |
|---|
consumer |
| 從介面 java.awt.image.ImageConsumer 繼承的欄位 |
|---|
COMPLETESCANLINES, IMAGEABORTED, IMAGEERROR, RANDOMPIXELORDER, SINGLEFRAME, SINGLEFRAMEDONE, SINGLEPASS, STATICIMAGEDONE, TOPDOWNLEFTRIGHT |
| 建構子摘要 | |
|---|---|
RGBImageFilter()
|
|
| 方法摘要 | |
|---|---|
IndexColorModel |
filterIndexColorModel(IndexColorModel icm)
過濾 IndexColorModel 物件:通過 filterRGB 函數(RGBImageFilter 子類別必須提供該函數)運行該物件顏色表中的每一項。 |
abstract int |
filterRGB(int x,
int y,
int rgb)
子類別必須指定該方法,以將使用預設 RGB ColorModel 的單個輸入像素轉換成單個輸出像素。 |
void |
filterRGBPixels(int x,
int y,
int w,
int h,
int[] pixels,
int off,
int scansize)
過濾緩衝區中使用預設 RGB ColorModel 的像素:將其一個接一個地傳遞給 filterRGB 方法。 |
void |
setColorModel(ColorModel model)
如果 ColorModel 是 IndexColorModel 且子類別將 canFilterIndexColorModel 標誌設置為 true,則將此處及 setPixels 方法中任何出現原始 ColorModel 物件的地方替換為過濾後的顏色模型。 |
void |
setPixels(int x,
int y,
int w,
int h,
ColorModel model,
byte[] pixels,
int off,
int scansize)
如果 ColorModel 物件就是已轉換後的物件,則使用轉換後的 ColorModel 傳遞像素。 |
void |
setPixels(int x,
int y,
int w,
int h,
ColorModel model,
int[] pixels,
int off,
int scansize)
如果 ColorModel 物件就是已轉換後的物件,則使用轉換後的 ColorModel 傳遞像素,否則,將整數像素的緩衝區轉換為預設 RGB ColorModel,並將轉換後的緩衝區傳遞給 filterRGBPixels 方法進行逐一轉換。 |
void |
substituteColorModel(ColorModel oldcm,
ColorModel newcm)
註冊兩個用於替換的 ColorModel 物件。 |
| 從類別 java.awt.image.ImageFilter 繼承的方法 |
|---|
clone, getFilterInstance, imageComplete, resendTopDownLeftRight, setDimensions, setHints, setProperties |
| 從類別 java.lang.Object 繼承的方法 |
|---|
equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
| 欄位詳細資訊 |
|---|
protected ColorModel origmodel
substituteColorModel 時將由 newmodel 替換的 ColorModel。
protected ColorModel newmodel
substituteColorModel 時替換 origmodel 的 ColorModel。
protected boolean canFilterIndexColorModel
substituteColorModel(java.awt.image.ColorModel, java.awt.image.ColorModel),
filterRGB(int, int, int),
IndexColorModel| 建構子詳細資訊 |
|---|
public RGBImageFilter()
| 方法詳細資訊 |
|---|
public void setColorModel(ColorModel model)
註:此方法應由其像素將被過濾的 Image 的 ImageProducer 調用。使用此類別過濾圖像像素的開發人員應該避免直接調用此方法,因為該操作可能干擾過濾操作。
ImageConsumer 中的 setColorModelImageFilter 中的 setColorModelmodel - 指定的 ColorModelImageConsumer,
ColorModel.getRGBdefault()
public void substituteColorModel(ColorModel oldcm,
ColorModel newcm)
oldcm - 要被動態替換的 ColorModel 物件newcm - 要動態替換 oldcm 的 ColorModel 物件public IndexColorModel filterIndexColorModel(IndexColorModel icm)
icm - 要過濾的 IndexColorModel 物件
NullPointerException - 如果 icm 為 null
public void filterRGBPixels(int x,
int y,
int w,
int h,
int[] pixels,
int off,
int scansize)
x - 像素區域左上角的 X 坐標y - 像素區域左上角的 Y 坐標w - 像素區域的寬度h - 像素區域的高度pixels - 像素陣列off - pixels 陣列中的偏移量scansize - 陣列中從一行像素到下一行像素的距離ColorModel.getRGBdefault(),
filterRGB(int, int, int)
public void setPixels(int x,
int y,
int w,
int h,
ColorModel model,
byte[] pixels,
int off,
int scansize)
註:此方法應由其像素將被過濾的 Image 的 ImageProducer 調用。使用此類別過濾圖像像素的開發人員應該避免直接調用此方法,因為該操作可能干擾過濾操作。
ImageConsumer 中的 setPixelsImageFilter 中的 setPixelsx - 要設置的像素區域左上角的 X 坐標y - 要設置的像素區域左上角的 Y 坐標w - 像素區域的寬度h - 像素區域的高度model - 指定的 ColorModelpixels - 像素陣列off - pixels 陣列中的偏移量scansize - pixels 陣列中一行像素到下一行的距離ColorModel.getRGBdefault(),
filterRGBPixels(int, int, int, int, int[], int, int)
public void setPixels(int x,
int y,
int w,
int h,
ColorModel model,
int[] pixels,
int off,
int scansize)
註:此方法應由其像素將被過濾的 Image 的 ImageProducer 調用。使用此類別過濾圖像像素的開發人員應該避免直接調用此方法,因為該操作可能干擾過濾操作。
ImageConsumer 中的 setPixelsImageFilter 中的 setPixelsx - 要設置的像素區域左上角的 X 坐標y - 要設置的像素區域左上角的 Y 坐標w - 像素區域的寬度h - 像素區域的高度model - 指定的 ColorModelpixels - 像素陣列off - pixels 陣列中的偏移量scansize - pixels 陣列中一行像素到下一行的距離ColorModel.getRGBdefault(),
filterRGBPixels(int, int, int, int, int[], int, int)
public abstract int filterRGB(int x,
int y,
int rgb)
x - 像素的 X 坐標y - 像素的 Y 坐標rgb - 使用預設 RGB 顏色模型的整數像素表示
ColorModel.getRGBdefault(),
filterRGBPixels(int, int, int, int, int[], int, int)
|
JavaTM 2 Platform Standard Ed. 6 |
|||||||||
| 上一個類別 下一個類別 | 框架 無框架 | |||||||||
| 摘要: 巢狀 | 欄位 | 建構子 | 方法 | 詳細資訊: 欄位 | 建構子 | 方法 | |||||||||
版權所有 2008 Sun Microsystems, Inc. 保留所有權利。請遵守GNU General Public License, version 2 only。