- java.lang.Object
-
- java.awt.image.AffineTransformOp
-
- 实现的所有接口
-
BufferedImageOp
,RasterOp
public class AffineTransformOp extends Object implements BufferedImageOp, RasterOp
此类使用仿射变换从二维坐标源图像中或执行的线性映射Raster
到2D中的目标图像或在坐标Raster
。 所使用的插值类型是通过构造函数指定的,可以是RenderingHints
对象,也可以是RenderingHints
定义的整数插值类型之一。如果在
RenderingHints
函数中指定了RenderingHints
对象,则使用插值提示和渲染质量提示来设置此操作的插值类型。 当需要颜色转换时,可以使用颜色呈现提示和抖动提示。请注意,必须满足以下约束:
- 源和目标必须不同。
- 对于
Raster
对象,源中的波段数必须等于目标中的波段数。
-
-
字段汇总
字段 变量和类型 字段 描述 static int
TYPE_BICUBIC
双立方插值类型。static int
TYPE_BILINEAR
双线性插值类型。static int
TYPE_NEAREST_NEIGHBOR
最近邻插值类型。
-
构造方法摘要
构造方法 构造器 描述 AffineTransformOp(AffineTransform xform, int interpolationType)
在给定仿射变换和插值类型的情况下构造AffineTransformOp
。AffineTransformOp(AffineTransform xform, RenderingHints hints)
在给定仿射变换的情况下构造AffineTransformOp
。
-
方法摘要
所有方法 实例方法 具体的方法 变量和类型 方法 描述 BufferedImage
createCompatibleDestImage(BufferedImage src, ColorModel destCM)
创建具有正确大小和波段数的归零目标图像。WritableRaster
createCompatibleDestRaster(Raster src)
创建具有正确大小和波段数的归零目标Raster
。BufferedImage
filter(BufferedImage src, BufferedImage dst)
转换源BufferedImage
并将结果存储在目标BufferedImage
。WritableRaster
filter(Raster src, WritableRaster dst)
转换源Raster
并将结果存储在目标Raster
。Rectangle2D
getBounds2D(BufferedImage src)
返回已转换目标的边界框。Rectangle2D
getBounds2D(Raster src)
返回已转换目标的边界框。int
getInterpolationType()
返回此op使用的插值类型。Point2D
getPoint2D(Point2D srcPt, Point2D dstPt)
给定源中的一个点,返回相应目标点的位置。RenderingHints
getRenderingHints()
返回此转换操作使用的呈现提示。AffineTransform
getTransform()
返回此转换操作使用的仿射变换。
-
-
-
构造方法详细信息
-
AffineTransformOp
public AffineTransformOp(AffineTransform xform, RenderingHints hints)
给定仿射变换构造AffineTransformOp
。 插值类型由RenderingHints
对象确定。 如果定义了插值提示,则将使用它。 否则,如果定义了渲染质量提示,则根据其值确定插值类型。 如果未指定提示(hints
为空),则插值类型为TYPE_NEAREST_NEIGHBOR
。- 参数
-
xform
- 用于操作的AffineTransform
。 -
hints
- 用于指定操作的插值类型的RenderingHints
对象。 - 异常
-
ImagingOpException
- 如果转换是不可逆的。 - 另请参见:
-
RenderingHints.KEY_INTERPOLATION
,RenderingHints.KEY_RENDERING
-
AffineTransformOp
public AffineTransformOp(AffineTransform xform, int interpolationType)
在给定仿射变换和插值类型的情况下构造AffineTransformOp
。- 参数
-
xform
- 用于操作的AffineTransform
。 -
interpolationType
-一个由这个类定义的整数内插类型的常量:TYPE_NEAREST_NEIGHBOR
,TYPE_BILINEAR
,TYPE_BICUBIC
。 - 异常
-
ImagingOpException
- 如果转换是不可逆的。
-
-
方法详细信息
-
getInterpolationType
public final int getInterpolationType()
返回此op使用的插值类型。- 结果
- 插值类型。
- 另请参见:
-
TYPE_NEAREST_NEIGHBOR
,TYPE_BILINEAR
,TYPE_BICUBIC
-
filter
public final BufferedImage filter(BufferedImage src, BufferedImage dst)
转换源BufferedImage
并将结果存储在目标BufferedImage
。 如果两个图像的颜色模型不匹配,则执行到目标颜色模型的颜色转换。 如果目标图像为null,BufferedImage
与源创建ColorModel
。由
getBounds2D(BufferedImage)
返回的矩形的坐标不一定与此方法返回的BufferedImage
的坐标相同。 如果矩形的左上角坐标为负,则不绘制矩形的该部分。 如果矩形的左上角坐标为正,则在目标BufferedImage
中的该位置处绘制经过滤的图像。如果源与目标相同,则抛出
IllegalArgumentException
。- Specified by:
-
filter
在界面BufferedImageOp
- 参数
-
src
- 要转换的BufferedImage
。 -
dst
-BufferedImage
,用于存储转换结果。 - 结果
-
过滤后的
BufferedImage
。 - 异常
-
IllegalArgumentException
- 如果src
和dst
是相同的 -
ImagingOpException
- 如果由于无效的图像格式,图块格式或图像处理操作或任何其他不受支持的操作可能导致的数据处理错误而无法转换图像。
-
filter
public final WritableRaster filter(Raster src, WritableRaster dst)
转换源Raster
并将结果存储在目标Raster
。 该操作按带执行变换带。如果目标
Raster
为null,则创建新的Raster
。 如果源与目的地相同或者源中的频带数不等于目的地中的频带数,则可以抛出IllegalArgumentException
。由
getBounds2D(Raster)
返回的矩形的坐标不一定与此方法返回的WritableRaster
的坐标相同。 如果矩形的左上角坐标为负,则不绘制矩形的这一部分。 如果矩形的坐标为正,则在目标Raster
中的该位置处绘制滤波图像。- Specified by:
-
filter
接口RasterOp
- 参数
-
src
- 要转换的Raster
。 -
dst
- 用于存储转换结果的Raster
。 - 结果
-
改造后的
Raster
。 - 异常
-
ImagingOpException
- 如果由于无效的图像格式,图块格式或图像处理操作或任何其他不受支持的操作可能导致的数据处理错误而无法转换栅格。
-
getBounds2D
public final Rectangle2D getBounds2D(BufferedImage src)
返回已转换目标的边界框。 返回的矩形是变换点的实际边界框。 返回矩形的左上角坐标可能不是(0,0)。- Specified by:
-
getBounds2D
接口BufferedImageOp
- 参数
-
src
- 要转换的BufferedImage
。 - 结果
-
Rectangle2D
代表目的地的边界框。
-
getBounds2D
public final Rectangle2D getBounds2D(Raster src)
返回已转换目标的边界框。 返回的矩形将是变换点的实际边界框。 返回矩形的左上角坐标可能不是(0,0)。- Specified by:
-
getBounds2D
接口RasterOp
- 参数
-
src
- 要转换的Raster
。 - 结果
-
Rectangle2D
表示目标的边界框。
-
createCompatibleDestImage
public BufferedImage createCompatibleDestImage(BufferedImage src, ColorModel destCM)
创建具有正确大小和波段数的归零目标图像。 如果变换的宽度或高度等于0,则可以抛出RasterFormatException
。如果
destCM
为空,则使用适当的ColorModel
; 即使源ColorModel
不透明,此ColorModel
也可能具有Alpha通道。- Specified by:
-
createCompatibleDestImage
接口BufferedImageOp
- 参数
-
src
- 要转换的BufferedImage
。 -
destCM
-ColorModel
得到的目的地。 如果为null,则使用适当的ColorModel
。 - 结果
- 归零目标图像。
-
createCompatibleDestRaster
public WritableRaster createCompatibleDestRaster(Raster src)
使用正确的大小和波段数创建归零目标Raster
。 如果变换的宽度或高度等于0,则可以抛出RasterFormatException
。- Specified by:
-
createCompatibleDestRaster
接口RasterOp
- 参数
-
src
- 要转换的Raster
。 - 结果
-
归零目的地
Raster
。
-
getPoint2D
public final Point2D getPoint2D(Point2D srcPt, Point2D dstPt)
给定源中的一个点,返回相应目标点的位置。 如果指定了dstPt
,则用于保存返回值。- Specified by:
-
getPoint2D
接口BufferedImageOp
- Specified by:
-
getPoint2D
接口RasterOp
- 参数
-
srcPt
- 表示源点的Point2D
。 -
dstPt
- 用于存储结果的Point2D
。 - 结果
-
目标中的
Point2D
对应于源中的指定点。
-
getTransform
public final AffineTransform getTransform()
返回此转换操作使用的仿射变换。- 结果
-
AffineTransform
与此操作相关联。
-
getRenderingHints
public final RenderingHints getRenderingHints()
返回此转换操作使用的呈现提示。- Specified by:
-
getRenderingHints
接口BufferedImageOp
- Specified by:
-
getRenderingHints
接口RasterOp
- 结果
-
与此op相关联的
RenderingHints
对象。
-
-