|
JavaTM 2 Platform Standard Ed. 6 |
|||||||||
上一個類別 下一個類別 | 框架 無框架 | |||||||||
摘要: 巢狀 | 欄位 | 建構子 | 方法 | 詳細資訊: 欄位 | 建構子 | 方法 |
java.lang.Object java.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
中的 setColorModel
ImageFilter
中的 setColorModel
model
- 指定的 ColorModel
ImageConsumer
,
ColorModel.getRGBdefault()
public void substituteColorModel(ColorModel oldcm, ColorModel newcm)
oldcm
- 要被動態替換的 ColorModel 物件newcm
- 要動態替換 oldcm 的 ColorModel 物件public IndexColorModel filterIndexColorModel(IndexColorModel icm)
icm
- 要過濾的 IndexColorModel 物件
NullPointerException
- 如果 icm
為 nullpublic 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
中的 setPixels
ImageFilter
中的 setPixels
x
- 要設置的像素區域左上角的 X 坐標y
- 要設置的像素區域左上角的 Y 坐標w
- 像素區域的寬度h
- 像素區域的高度model
- 指定的 ColorModel
pixels
- 像素陣列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
中的 setPixels
ImageFilter
中的 setPixels
x
- 要設置的像素區域左上角的 X 坐標y
- 要設置的像素區域左上角的 Y 坐標w
- 像素區域的寬度h
- 像素區域的高度model
- 指定的 ColorModel
pixels
- 像素陣列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。