- java.lang.Object
 -  
      
- java.awt.image.RescaleOp
 
 
-  
       
- 实现的所有接口
 -  
         
BufferedImageOp,RasterOp 
public class RescaleOp extends Object implements BufferedImageOp, RasterOp
此类通过将每个像素的样本值乘以比例因子然后添加偏移量,对源图像中的数据执行逐像素重新缩放。 缩放的样本值被剪切为目标图像中可表示的最小值/最大值。重新缩放操作的伪代码如下:
for each pixel from Source object { for each band/component of the pixel { dstElement = (srcElement*scaleFactor) + offset } }对于Rasters,重新缩放对频段进行操作。 缩放常数组的数量可以是1,在这种情况下,相同的常数应用于所有频带,或者它必须等于源栅格频带的数量。
对于BufferedImages,重新缩放对颜色和alpha分量进行操作。 缩放常数组的数量可以是1,在这种情况下,相同的常数应用于所有颜色(但不是α)组件。 否则,缩放常数组的数量可以等于源颜色分量的数量,在这种情况下,不执行α分量(如果存在)的重新缩放。 如果这些情况都不适用,则缩放常量集的数量必须等于源颜色分量加上alpha分量的数量,在这种情况下,所有颜色和alpha分量都会重新缩放。
具有预乘alpha数据的BufferedImage源以与非预乘图像相同的方式处理以进行重新缩放。 也就是说,在BufferedImage源的原始数据上按带执行重新缩放,而不考虑数据是否被预乘。 如果目标ColorModel需要进行颜色转换,则此步骤将考虑源和目标的预乘状态。
带有IndexColorModel的图像无法重新缩放。
如果在构造函数中指定了RenderingHints对象,则在需要颜色转换时可以使用颜色呈现提示和抖动提示。
请注意,允许就地操作(即源和目标可以是同一个对象)。
 
-  
        
       
-  
             
构造方法摘要
构造方法 构造器 描述 RescaleOp(float[] scaleFactors, float[] offsets, RenderingHints hints)构造具有所需比例因子和偏移的新RescaleOp。RescaleOp(float scaleFactor, float offset, RenderingHints hints)构造一个具有所需比例因子和偏移量的新RescaleOp。 
-  
             
方法摘要
所有方法 实例方法 具体的方法 变量和类型 方法 描述 BufferedImagecreateCompatibleDestImage(BufferedImage src, ColorModel destCM)创建具有正确大小和波段数的归零目标图像。WritableRastercreateCompatibleDestRaster(Raster src)在给定此源的情况下,创建具有正确大小和波段数的归零目标Raster。BufferedImagefilter(BufferedImage src, BufferedImage dst)重新调整源BufferedImage。WritableRasterfilter(Raster src, WritableRaster dst)重新调整源Raster中的像素数据。Rectangle2DgetBounds2D(BufferedImage src)返回重新缩放的目标图像的边界框。Rectangle2DgetBounds2D(Raster src)返回重新缩放的目标Raster的边界框。intgetNumFactors()返回此RescaleOp中使用的缩放因子和偏移的数量。float[]getOffsets(float[] offsets)返回给定数组中的偏移量。Point2DgetPoint2D(Point2D srcPt, Point2D dstPt)返回给定源中某个点的目标点的位置。RenderingHintsgetRenderingHints()返回此op的呈现提示。float[]getScaleFactors(float[] scaleFactors)返回给定数组中的比例因子。 
 -  
             
 
-  
        
       
-  
             
构造方法详细信息
-  
RescaleOp
public RescaleOp(float[] scaleFactors, float[] offsets, RenderingHints hints)构造具有所需比例因子和偏移的新RescaleOp。 scaleFactor和offset数组的长度必须满足上面类注释中规定的限制。 RenderingHints参数可以为null。- 参数
 -  
              
scaleFactors- 指定的比例因子 -  
              
offsets- 指定的偏移量 -  
              
hints- 指定的RenderingHints或null 
 
-  
RescaleOp
public RescaleOp(float scaleFactor, float offset, RenderingHints hints)构造一个具有所需比例因子和偏移量的新RescaleOp。 scaleFactor和offset将应用于源Raster中的所有band以及BufferedImage中的所有颜色(但不是alpha)组件。 RenderingHints参数可以为null。- 参数
 -  
              
scaleFactor- 指定的比例因子 -  
              
offset- 指定的偏移量 -  
              
hints- 指定的RenderingHints或null 
 
 -  
 
-  
             
方法详细信息
-  
getScaleFactors
public final float[] getScaleFactors(float[] scaleFactors)
返回给定数组中的比例因子。 为方便起见,还返回了数组。 如果scaleFactors为null,则将分配一个新数组。- 参数
 -  
              
scaleFactors- 包含此RescaleOp的比例因子的RescaleOp - 结果
 - 
               这个 
              
RescaleOp的比例因子。 
 
-  
getOffsets
public final float[] getOffsets(float[] offsets)
返回给定数组中的偏移量。 为方便起见,还返回了数组。 如果偏移量为null,则将分配新数组。- 参数
 -  
              
offsets- 包含此RescaleOp的偏移量的RescaleOp - 结果
 - 
               这个 
              
RescaleOp的补偿。 
 
-  
getNumFactors
public final int getNumFactors()
返回此RescaleOp中使用的缩放因子和偏移的数量。- 结果
 - 
               此 
              
RescaleOp的缩放因子和偏移量的RescaleOp。 
 
-  
filter
public final BufferedImage filter(BufferedImage src, BufferedImage dst)
重新调整源BufferedImage。 如果源图像中的颜色模型与目标图像中的颜色模型不同,则将在目标中转换像素。 如果目标图像为null,则将使用源ColorModel创建BufferedImage。 如果此对象中的缩放因子/偏移的数量不满足上面的类注释中所述的限制,或者源图像具有IndexColorModel,则可能抛出IllegalArgumentException。- Specified by:
 -  
              
filter在接口BufferedImageOp - 参数
 -  
              
src- 要过滤的BufferedImage -  
              
dst- 过滤操作的目标或null - 结果
 - 
               过滤后的 
              
BufferedImage。 - 异常
 -  
              
IllegalArgumentException- 如果ColorModel的src是IndexColorModel,或者此RescaleOp的缩放因子和偏移量不符合类注释中所述的要求,或者源和目标映像的大小不同。 
 
-  
filter
public final WritableRaster filter(Raster src, WritableRaster dst)
重新调整源Raster中的像素数据。 如果目标Raster为null,则将创建一个新的Raster。 源和目标必须具有相同数量的波段。 否则,抛出IllegalArgumentException。 请注意,此对象中缩放因子/偏移的数量必须满足上述类注释中规定的限制。 否则,抛出IllegalArgumentException。- Specified by:
 -  
              
filter在接口RasterOp - 参数
 -  
              
src- 要过滤的Raster -  
              
dst- 过滤操作的目标或null - 结果
 - 
               过滤后的 
              
WritableRaster。 - 异常
 -  
              
IllegalArgumentException- 如果src和dst没有相同数量的频段,或者此RescaleOp的缩放因子和偏移数不符合类注释中所述的要求,或者源和目标栅格的大小不同。 
 
-  
getBounds2D
public final Rectangle2D getBounds2D(BufferedImage src)
返回重新缩放的目标图像的边界框。 由于这不是几何操作,因此边界框不会改变。- Specified by:
 -  
              
getBounds2D在接口BufferedImageOp - 参数
 -  
              
src- 要过滤的BufferedImage - 结果
 -  
              
Rectangle2D表示目标图像的边界框。 
 
-  
getBounds2D
public final Rectangle2D getBounds2D(Raster src)
返回重新缩放的目标Raster的边界框。 由于这不是几何操作,因此边界框不会改变。- Specified by:
 -  
              
getBounds2D在接口RasterOp - 参数
 -  
              
src- 重新缩放的目的地Raster - 结果
 - 
               指定的边界 
              
Raster。 
 
-  
createCompatibleDestImage
public BufferedImage createCompatibleDestImage(BufferedImage src, ColorModel destCM)
创建具有正确大小和波段数的归零目标图像。- Specified by:
 -  
              
createCompatibleDestImage在接口BufferedImageOp - 参数
 -  
              
src- 过滤器操作的源图像。 -  
              
destCM- 目的地的ColorModel。 如果为null,则将使用源的ColorModel。 - 结果
 - 归零目标图像。
 
 
-  
createCompatibleDestRaster
public WritableRaster createCompatibleDestRaster(Raster src)
给定此源,创建具有正确大小和波段数的归零目标Raster。- Specified by:
 -  
              
createCompatibleDestRaster在接口RasterOp - 参数
 -  
              
src- 源Raster - 结果
 - 
               归零目的地 
              
Raster。 
 
-  
getPoint2D
public final Point2D getPoint2D(Point2D srcPt, Point2D dstPt)
返回给定源中某个点的目标点的位置。 如果dstPt为非null,则它将用于保存返回值。 由于这不是几何操作,因此srcPt将等于dstPt。- Specified by:
 -  
              
getPoint2D在接口BufferedImageOp - Specified by:
 -  
              
getPoint2D在接口RasterOp - 参数
 -  
              
srcPt- 源图像中的一个点 -  
              
dstPt- 目的地点或null - 结果
 - 目的地点的位置。
 
 
-  
getRenderingHints
public final RenderingHints getRenderingHints()
返回此op的呈现提示。- Specified by:
 -  
              
getRenderingHints在接口BufferedImageOp - Specified by:
 -  
              
getRenderingHints在接口RasterOp - 结果
 - 
               这个 
              
RescaleOp的渲染提示。 
 
 -  
 
 -