|
JavaTM 2 Platform Standard Ed. 6 |
|||||||||
上一個類別 下一個類別 | 框架 無框架 | |||||||||
摘要: 巢狀 | 欄位 | 建構子 | 方法 | 詳細資訊: 欄位 | 建構子 | 方法 |
java.lang.Object java.awt.image.RescaleOp
public class RescaleOp
通過將每個像素的樣本值乘以一個縮放因子,然後加上一個偏移量,此類別對源圖像中資料進行逐像素重縮放。縮放後的樣本值被限制在目標圖像中的最小/最大可表示形式。
重縮放操作的偽程式碼如下:
for each pixel from Source object { for each band/component of the pixel { dstElement = (srcElement*scaleFactor) + offset } }
對於 Raster,重縮放在 band 上運行。縮放常數集合的數量可能為 1,在這種情況下,對所有 band 都應用相同的常數,或者該數量必須等於 Source Raster band 的數量。
對於 BufferedImage,重縮放在顏色和 alpha 份量上進行。縮放常數集合的數量可能為 1,在這種情況下,對所有顏色(但不包括 alpha)份量應用相同的常數。否則,縮放常數集合的數量必須等於 Source 顏色份量,在這種情況下,不對 alpha 份量(如果存在)執行重縮放。如果這兩種情況都不適用,則縮放常數集合的數量必須等於 Source 顏色份量加上 alpha 份量的數量,在這種情況下,要對所有顏色和 alpha 份量都執行重縮放。
無論所 band 資料是否自左乘 alpha,對於 BufferedImage 源執行重縮放的方式都是相同的。也就是說,無論資料是否自左乘 alpha,在 BufferedImage 源的原始資料的每個 band 上都執行重縮放。如果需要將顏色轉換到目標 ColorModel,則該步驟要考慮源和目標的自左乘狀態。
不能重縮放具有 IndexColorModel 的圖像。
如果在建構子中定義了 RenderingHints 物件,當需要顏色轉換時,可以使用顏色呈現提示和抖動提示。
注意,允許進行 in-place 操作(也就是說,源和目標可以是相同的物件)。
RenderingHints.KEY_COLOR_RENDERING
,
RenderingHints.KEY_DITHERING
建構子摘要 | |
---|---|
RescaleOp(float[] scaleFactors,
float[] offsets,
RenderingHints hints)
建構一個具有所希望的縮放因子和偏移量的新 RescaleOp。 |
|
RescaleOp(float scaleFactor,
float offset,
RenderingHints hints)
建構一個具有所希望的縮放因子和偏移量的新 RescaleOp。 |
方法摘要 | |
---|---|
BufferedImage |
createCompatibleDestImage(BufferedImage src,
ColorModel destCM)
創建一個具有正確大小和 band 數的經檢查的目標圖像。 |
WritableRaster |
createCompatibleDestRaster(Raster src)
在給出源的情況下,創建一個具有正確大小和 band 數的經檢查的目標 Raster 。 |
BufferedImage |
filter(BufferedImage src,
BufferedImage dst)
對源 BufferedImage 進行重縮放。 |
WritableRaster |
filter(Raster src,
WritableRaster dst)
對源 Raster 中的像素資料進行重縮放。 |
Rectangle2D |
getBounds2D(BufferedImage src)
返回重縮放後的目標圖像的邊界框。 |
Rectangle2D |
getBounds2D(Raster src)
返回重縮放後的目標 Raster 的邊界框。 |
int |
getNumFactors()
返回此 RescaleOp 中使用的縮放因子和偏移量的數量。 |
float[] |
getOffsets(float[] offsets)
返回給定陣列中的偏移量。 |
Point2D |
getPoint2D(Point2D srcPt,
Point2D dstPt)
給定源中的一個點,返回對應目標點的位置。 |
RenderingHints |
getRenderingHints()
返回此操作的呈現提示。 |
float[] |
getScaleFactors(float[] scaleFactors)
返回給定陣列中的縮放因子。 |
從類別 java.lang.Object 繼承的方法 |
---|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
建構子詳細資訊 |
---|
public RescaleOp(float[] scaleFactors, float[] offsets, RenderingHints hints)
scaleFactors
- 指定的縮放因子offsets
- 指定的偏移量hints
- 指定的 RenderingHints
或 null
public RescaleOp(float scaleFactor, float offset, RenderingHints hints)
scaleFactor
- 指定的縮放因子offset
- 指定的偏移量hints
- 指定的 RenderingHints
或 null
方法詳細資訊 |
---|
public final float[] getScaleFactors(float[] scaleFactors)
scaleFactors
- 套件含此 RescaleOp
的縮放因子的陣列
RescaleOp
的縮放因子。public final float[] getOffsets(float[] offsets)
offsets
- 套件含此 RescaleOp
的偏移量的陣列
RescaleOp
的偏移量。public final int getNumFactors()
RescaleOp
的縮放因子和偏移量的數量。public final BufferedImage filter(BufferedImage src, BufferedImage dst)
BufferedImageOp
中的 filter
src
- 要過濾的 BufferedImage
dst
- 過濾操作的目標或 null
BufferedImage
。
IllegalArgumentException
- 如果 src
的 ColorModel
是一個 IndexColorModel
,或者此 RescaleOp
中縮放因子和偏移量的數量不符合上述類別註釋中規定的限制。public final WritableRaster filter(Raster src, WritableRaster dst)
RasterOp
中的 filter
src
- 要過濾的 Raster
dst
- 過濾操作的目標或 null
WritableRaster
。
IllegalArgumentException
- 如果 src
和 dst
沒有相同的 band 數,或者此 RescaleOp
中縮放因子和偏移量的數量不符合上述類別註釋中規定的限制。public final Rectangle2D getBounds2D(BufferedImage src)
BufferedImageOp
中的 getBounds2D
src
- 要過濾的 BufferedImage
Rectangle2D
。public final Rectangle2D getBounds2D(Raster src)
RasterOp
中的 getBounds2D
src
- 重縮放後的目標 Raster
Raster
的邊界。public BufferedImage createCompatibleDestImage(BufferedImage src, ColorModel destCM)
BufferedImageOp
中的 createCompatibleDestImage
src
- 過濾操作的源圖像。destCM
- 目標的 ColorModel。如果為 null,則使用源的 ColorModel。
public WritableRaster createCompatibleDestRaster(Raster src)
Raster
。
RasterOp
中的 createCompatibleDestRaster
src
- 源 Raster
Raster
。public final Point2D getPoint2D(Point2D srcPt, Point2D dstPt)
BufferedImageOp
中的 getPoint2D
RasterOp
中的 getPoint2D
srcPt
- 源圖像中的一個點dstPt
- 目標點或 null
public final RenderingHints getRenderingHints()
BufferedImageOp
中的 getRenderingHints
RasterOp
中的 getRenderingHints
RescaleOp
的呈現提示。
|
JavaTM 2 Platform Standard Ed. 6 |
|||||||||
上一個類別 下一個類別 | 框架 無框架 | |||||||||
摘要: 巢狀 | 欄位 | 建構子 | 方法 | 詳細資訊: 欄位 | 建構子 | 方法 |
版權所有 2008 Sun Microsystems, Inc. 保留所有權利。請遵守GNU General Public License, version 2 only。