JavaTM 2 Platform
Standard Ed. 6

java.awt.image
類別 AreaAveragingScaleFilter

java.lang.Object
  繼承者 java.awt.image.ImageFilter
      繼承者 java.awt.image.ReplicateScaleFilter
          繼承者 java.awt.image.AreaAveragingScaleFilter
所有已實作的介面:
ImageConsumer, Cloneable

public class AreaAveragingScaleFilter
extends ReplicateScaleFilter

這是一個 ImageFilter 類別,它使用一個簡單的區域平均演算法來進行圖像縮放,該演算法產生比其最相近演算法更平滑的結果。

此類別擴展 ImageFilter 基礎類別來對現有圖像進行縮放,並為包含重新取樣圖像的新圖像提供一個源圖像。源圖像中的像素被混合以產生指定尺寸圖像的像素。混合過程類似於以下過程:首先使用像素複製將源圖像按比例放大為目標尺寸的若干倍,其後通過對落在目標圖像給定像素內的超大尺寸圖像中的所有像素簡單地進行平均,將圖像按比例縮小回目標尺寸。如果源資料不按 TopDownLeftRight 順序傳送,則過濾器將退回為一個簡單的像素複製行為,並最終使用 requestTopDownLeftRightResend() 方法以一種更好的方式來重新過濾像素。

這意味著它可與 FilteredImageSource 物件聯合使用,以產生現有圖像的縮放版本。由於與實作相關,不同平臺上過濾的圖像像素值可能存在差異。

另請參見:
FilteredImageSource, ReplicateScaleFilter, ImageFilter

欄位摘要
 
從類別 java.awt.image.ReplicateScaleFilter 繼承的欄位
destHeight, destWidth, outpixbuf, srccols, srcHeight, srcrows, srcWidth
 
從類別 java.awt.image.ImageFilter 繼承的欄位
consumer
 
從介面 java.awt.image.ImageConsumer 繼承的欄位
COMPLETESCANLINES, IMAGEABORTED, IMAGEERROR, RANDOMPIXELORDER, SINGLEFRAME, SINGLEFRAMEDONE, SINGLEPASS, STATICIMAGEDONE, TOPDOWNLEFTRIGHT
 
建構子摘要
AreaAveragingScaleFilter(int width, int height)
          建構一個 AreaAveragingScaleFilter,它對由 width 和 height 參數所指定的源圖像的像素進行縮放。
 
方法摘要
 void setHints(int hints)
          檢測資料是否正使用必要的提示進行傳送,從而允許平均演算法執行其功能。
 void setPixels(int x, int y, int w, int h, ColorModel model, byte[] pixels, int off, int scansize)
          將已傳送 byte 像素的份量組合到累加陣列,共時送所有已完成像素行的平均資料。
 void setPixels(int x, int y, int w, int h, ColorModel model, int[] pixels, int off, int scansize)
          將已傳送 int 像素的份量組合到累加陣列,共時送所有已完成像素行的平均資料。
 
從類別 java.awt.image.ReplicateScaleFilter 繼承的方法
setDimensions, setProperties
 
從類別 java.awt.image.ImageFilter 繼承的方法
clone, getFilterInstance, imageComplete, resendTopDownLeftRight, setColorModel
 
從類別 java.lang.Object 繼承的方法
equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

建構子詳細資訊

AreaAveragingScaleFilter

public AreaAveragingScaleFilter(int width,
                                int height)
建構一個 AreaAveragingScaleFilter,它對由 width 和 height 參數所指定的源圖像的像素進行縮放。

參數:
width - 要縮放圖像的目標寬度
height - 要縮放圖像的目標高度
方法詳細資訊

setHints

public void setHints(int hints)
檢測資料是否正使用必要的提示進行傳送,從而允許平均演算法執行其功能。

註:此方法將由 Image(其像素正被過濾)的 ImageProducer 調用。使用此類別過濾圖像像素的開發人員應該避免直接調用此方法,因為該操作可能干擾過濾操作。

指定者:
介面 ImageConsumer 中的 setHints
覆寫:
類別 ImageFilter 中的 setHints
參數:
hints - ImageConsumer 用於處理像素的提示集合
另請參見:
ImageConsumer.setHints(int)

setPixels

public void setPixels(int x,
                      int y,
                      int w,
                      int h,
                      ColorModel model,
                      byte[] pixels,
                      int off,
                      int scansize)
將已傳送 byte 像素的份量組合到累加陣列,共時送所有已完成像素行的平均資料。如果在 setHints 的調用中沒有指定正確的提示,則將工作轉交給父級類別,不管何種傳送提示,父級類別都可以對像素進行縮放。

註:此方法將由 Image(其像素正被過濾)的 ImageProducer 調用。使用此類別過濾圖像像素的開發人員應該避免直接調用此方法,因為該操作可能干擾過濾操作。

指定者:
介面 ImageConsumer 中的 setPixels
覆寫:
類別 ReplicateScaleFilter 中的 setPixels
參數:
x - 要設置的像素區域左上角的 X 坐標
y - 要設置的像素區域左上角的 Y 坐標
w - 像素區域的寬度
h - 像素區域的高度
model - 指定的 ColorModel
pixels - 像素陣列
off - pixels 陣列中的偏移量
scansize - pixels 陣列中一行像素到下一行的距離
另請參見:
ReplicateScaleFilter

setPixels

public void setPixels(int x,
                      int y,
                      int w,
                      int h,
                      ColorModel model,
                      int[] pixels,
                      int off,
                      int scansize)
將已傳送 int 像素的份量組合到累加陣列,共時送所有已完成像素行的平均資料。如果在 setHints 的調用中沒有指定正確的提示,則將工作轉交給父級類別,不管何種傳送提示,父級類別都可以對像素進行縮放。

註:此方法將由 Image(其像素正被過濾)的 ImageProducer 調用。使用此類別過濾圖像像素的開發人員應該避免直接調用此方法,因為該操作可能干擾過濾操作。

指定者:
介面 ImageConsumer 中的 setPixels
覆寫:
類別 ReplicateScaleFilter 中的 setPixels
參數:
x - 要設置的像素區域左上角的 X 坐標
y - 要設置的像素區域左上角的 Y 坐標
w - 像素區域的寬度
h - 像素區域的高度
model - 指定的 ColorModel
pixels - 像素陣列
off - pixels 陣列中的偏移量
scansize - pixels 陣列中一行像素到下一行的距離
另請參見:
ReplicateScaleFilter

JavaTM 2 Platform
Standard Ed. 6

提交錯誤或意見

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