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
}
}
对于光栅,重新缩放操作在频带上。 缩放常数集合的数量可以是一个,在这种情况下,相同的常量应用于所有频带,或者它必须等于源光栅频带的数量。
对于BufferedImages,重新调整颜色和alpha组件。 缩放常数集合的数量可以是一个,在这种情况下,相同的常量应用于所有颜色(但不是alpha)组件。 否则,缩放常量集合的数量可以等于源颜色分量的数量,在这种情况下,不执行alpha分量(如果存在)的重新缩放。 如果这两种情况都不适用,缩放常数集合的数量必须等于源颜色分量加上alpha分量的数量,在这种情况下,所有颜色和alpha分量都将重新缩放。
具有预乘法α数据的BufferedImage源以与非预乘图像相同的方式被处理以用于重新缩放。 也就是说,对于BufferedImage源的原始数据,每个频段都进行重新缩放,而不考虑数据是否被预乘。 如果目标ColorModel需要颜色转换,则此步骤将考虑源和目的地的预乘法状态。
具有IndexColorModel的图像无法重新缩放。
如果在构造函数中指定了RenderingHints对象,则在需要颜色转换时,可以使用颜色渲染提示和抖动提示。
请注意,就地操作是允许的(即源和目标可以是相同的对象)。
| Constructor and Description |
|---|
RescaleOp(float[] scaleFactors, float[] offsets, RenderingHints hints)
构建一个具有所需比例因子和偏移量的新RescaleOp。
|
RescaleOp(float scaleFactor, float offset, RenderingHints hints)
构造一个具有所需比例因子和偏移量的新RescaleOp。
|
| Modifier and Type | Method and Description |
|---|---|
BufferedImage |
createCompatibleDestImage(BufferedImage src, ColorModel destCM)
创建带有正确大小和频带数的归零目的地图像。
|
WritableRaster |
createCompatibleDestRaster(Raster src)
创建一个零目的地
Raster具有正确的大小和数量的频带,给定这个来源。
|
BufferedImage |
filter(BufferedImage src, BufferedImage dst)
重新调整源BufferedImage。
|
WritableRaster |
filter(Raster src, WritableRaster dst)
重新调整源光栅中的像素数据。
|
Rectangle2D |
getBounds2D(BufferedImage src)
返回重新缩放的目标图像的边框。
|
Rectangle2D |
getBounds2D(Raster src)
返回重新缩放的目标栅格的边框。
|
int |
getNumFactors()
返回此RescaleOp中使用的缩放因子和偏移量的数量。
|
float[] |
getOffsets(float[] offsets)
返回给定数组中的偏移量。
|
Point2D |
getPoint2D(Point2D srcPt, Point2D dstPt)
返回源中给定点的目标点的位置。
|
RenderingHints |
getRenderingHints()
返回此操作的渲染提示。
|
float[] |
getScaleFactors(float[] scaleFactors)
返回给定数组中的比例因子。
|
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
RescaleOp 。
public final float[] getOffsets(float[] offsets)
offsets - 该数组包含这个
RescaleOp的偏移量
RescaleOp的偏移量。
public final int getNumFactors()
RescaleOp偏移量。
public final BufferedImage filter(BufferedImage src, BufferedImage dst)
filter在接口
BufferedImageOp
src - 要过滤的
BufferedImage
dst - 过滤操作的目的地或
null
BufferedImage 。
IllegalArgumentException - 如果
ColorModel的
src是
IndexColorModel ,或者如果此
RescaleOp中的缩放因子和偏移量不符合类注释中规定的要求。
public final WritableRaster filter(Raster src, WritableRaster dst)
filter在接口
RasterOp
src - 要过滤的
Raster
dst - 过滤操作的目的地或
null
WritableRaster 。
IllegalArgumentException - 如果
src和
dst没有相同数量的频带,或者如果此
RescaleOp中的缩放因子和偏移量不符合类注释中规定的要求。
public final Rectangle2D getBounds2D(BufferedImage src)
getBounds2D在界面
BufferedImageOp
src - 要过滤的
BufferedImage
Rectangle2D代表目的地图像的边界框。
public final Rectangle2D getBounds2D(Raster src)
getBounds2D在接口
RasterOp
src - 重新缩放的目的地
Raster
Raster 。
public BufferedImage createCompatibleDestImage(BufferedImage src, ColorModel destCM)
createCompatibleDestImage在界面
BufferedImageOp
src - 过滤器操作的源镜像。
destCM - 目的地的ColorModel。
如果为null,将使用源的ColorModel。
public WritableRaster createCompatibleDestRaster(Raster src)
Raster具有正确的大小和频带数,给定此源。
createCompatibleDestRaster在接口
RasterOp
src - 来源
Raster
Raster 。
public final Point2D getPoint2D(Point2D srcPt, Point2D dstPt)
getPoint2D在接口
BufferedImageOp
getPoint2D在接口
RasterOp
srcPt - 源图像中的一点
dstPt - 目的地点或
null
public final RenderingHints getRenderingHints()
getRenderingHints在界面
BufferedImageOp
getRenderingHints在接口
RasterOp
RescaleOp 。
Submit a bug or feature
For further API reference and developer documentation, see Java SE Documentation. That documentation contains more detailed, developer-targeted descriptions, with conceptual overviews, definitions of terms, workarounds, and working code examples.
Copyright © 1993, 2014, Oracle and/or its affiliates. All rights reserved.