java.lang.Object
java.awt.image.AffineTransformOp
- 所有已实现的接口:
-
BufferedImageOp
,RasterOp
该类使用仿射变换来执行从源图像或
Raster
中的2D坐标到目标图像或Raster
中的2D坐标的线性映射。所使用的插值类型是通过构造函数指定的,可以通过RenderingHints
对象或该类中定义的整数插值类型之一来指定。
如果在构造函数中指定了RenderingHints
对象,则插值提示和渲染质量提示将用于设置此操作的插值类型。当需要颜色转换时,可以使用颜色渲染提示和抖动提示。
请注意必须满足以下约束条件:
- 源和目标必须不同。
- 对于
Raster
对象,源中的波段数必须等于目标中的波段数。
- 参见:
-
Field Summary
Modifier and TypeFieldDescriptionstatic final int
双三次插值类型。static final int
线性插值类型。static final int
最近邻插值类型。 -
Constructor Summary
ConstructorDescriptionAffineTransformOp
(AffineTransform xform, int interpolationType) 给定一个仿射变换和插值类型构造一个AffineTransformOp
。AffineTransformOp
(AffineTransform xform, RenderingHints hints) 给定一个仿射变换构造一个AffineTransformOp
。 -
Method Summary
Modifier and TypeMethodDescriptioncreateCompatibleDestImage
(BufferedImage src, ColorModel destCM) 创建一个大小和波段数正确的零目标图像。创建一个大小和波段数正确的零目标Raster
。final BufferedImage
filter
(BufferedImage src, BufferedImage dst) 转换源BufferedImage
并将结果存储在目标BufferedImage
中。final WritableRaster
filter
(Raster src, WritableRaster dst) 转换源Raster
并将结果存储在目标Raster
中。final Rectangle2D
getBounds2D
(BufferedImage src) 返回转换后目标的边界框。final Rectangle2D
getBounds2D
(Raster src) 返回转换后目标的边界框。final int
返回此操作使用的插值类型。final Point2D
getPoint2D
(Point2D srcPt, Point2D dstPt) 给定源中的点,返回对应目标点的位置。final RenderingHints
返回此变换操作使用的渲染提示。final AffineTransform
返回此变换操作使用的仿射变换。
-
Field Details
-
TYPE_NEAREST_NEIGHBOR
最近邻插值类型。- 参见:
-
TYPE_BILINEAR
线性插值类型。- 参见:
-
TYPE_BICUBIC
双三次插值类型。- 参见:
-
-
Constructor Details
-
AffineTransformOp
给定一个仿射变换构造一个AffineTransformOp
。插值类型是根据RenderingHints
对象确定的。如果定义了插值提示,则将使用它。否则,如果定义了渲染质量提示,则插值类型将根据其值确定。如果未指定提示(hints
为null),则插值类型为TYPE_NEAREST_NEIGHBOR
。- 参数:
-
xform
- 用于操作的AffineTransform
。 -
hints
- 用于指定操作的插值类型的RenderingHints
对象。 - 抛出:
-
ImagingOpException
- 如果变换不可逆。 - 参见:
-
AffineTransformOp
给定一个仿射变换和插值类型构造一个AffineTransformOp
。- 参数:
-
xform
- 用于操作的AffineTransform
。 -
interpolationType
- 由该类定义的整数插值类型常量之一:TYPE_NEAREST_NEIGHBOR
、TYPE_BILINEAR
、TYPE_BICUBIC
。 - 抛出:
-
ImagingOpException
- 如果变换不可逆。
-
-
Method Details
-
getInterpolationType
public final int getInterpolationType()返回此操作使用的插值类型。- 返回:
- 插值类型。
- 参见:
-
filter
转换源BufferedImage
并将结果存储在目标BufferedImage
中。如果两个图像的颜色模型不匹配,则会执行颜色转换为目标颜色模型。如果目标图像为null,则会使用源ColorModel
创建一个BufferedImage
。getBounds2D(BufferedImage)
返回的矩形的坐标不一定与此方法返回的BufferedImage
的坐标相同。如果矩形的左上角坐标为负,则不会绘制该矩形的部分。如果矩形的左上角坐标为正,则过滤后的图像将绘制在目标BufferedImage
中的该位置。如果源与目标相同,则会抛出
IllegalArgumentException
。- 指定者:
-
filter
在接口BufferedImageOp
中 - 参数:
-
src
- 要转换的BufferedImage
。 -
dst
- 存储转换结果的BufferedImage
。 - 返回:
-
过滤后的
BufferedImage
。 - 抛出:
-
IllegalArgumentException
- 如果src
和dst
相同 -
ImagingOpException
- 如果由于数据处理错误(可能由于无效的图像格式、瓦片格式或图像处理操作,或任何其他不受支持的操作)而无法转换图像。
-
filter
转换源Raster
并将结果存储在目标Raster
中。此操作逐波段执行变换。如果目标
Raster
为null,则会创建一个新的Raster
。如果源与目标相同或源中的波段数不等于目标中的波段数,则可能会抛出IllegalArgumentException
。getBounds2D(Raster)
返回的矩形的坐标不一定与此方法返回的WritableRaster
的坐标相同。如果矩形的左上角坐标为负,则不会绘制该矩形的部分。如果矩形的坐标为正,则过滤后的图像将绘制在目标Raster
中的该位置。- 指定者:
-
filter
在接口RasterOp
中 - 参数:
-
src
- 要转换的Raster
。 -
dst
- 存储转换结果的Raster
。 - 返回:
-
转换后的
Raster
。 - 抛出:
-
ImagingOpException
- 如果由于数据处理错误(可能由于无效的图像格式、瓦片格式或图像处理操作,或任何其他不受支持的操作)而无法转换光栅。
-
getBounds2D
返回转换后目标的边界框。返回的矩形是转换点的实际边界框。返回矩形的左上角坐标可能不是(0,0)。- 指定者:
-
getBounds2D
在接口BufferedImageOp
中 - 参数:
-
src
- 要转换的BufferedImage
。 - 返回:
-
表示目标边界框的
Rectangle2D
。
-
getBounds2D
返回转换后目标的边界框。返回的矩形将是转换点的实际边界框。返回矩形的左上角坐标可能不是(0,0)。- 指定者:
-
getBounds2D
在接口RasterOp
- 参数:
-
src
- 要转换的Raster
。 - 返回值:
-
表示目标边界框的
Rectangle2D
。
-
createCompatibleDestImage
创建一个大小和波段数正确的零值目标图像。如果转换后的宽度或高度等于0,则可能会抛出RasterFormatException
。如果
destCM
为null,则使用适当的ColorModel
;即使源ColorModel
是不透明的,此ColorModel
可能具有alpha通道。- 指定者:
-
createCompatibleDestImage
在接口BufferedImageOp
- 参数:
-
src
- 要转换的BufferedImage
。 -
destCM
- 目标的ColorModel
。如果为null,则使用适当的ColorModel
。 - 返回值:
- 零值目标图像。
-
createCompatibleDestRaster
创建一个大小和波段数正确的零值目标Raster
。如果转换后的宽度或高度等于0,则可能会抛出RasterFormatException
。- 指定者:
-
createCompatibleDestRaster
在接口RasterOp
- 参数:
-
src
- 要转换的Raster
。 - 返回值:
-
零值目标
Raster
。
-
getPoint2D
返回给定源点的相应目标点的位置。如果指定了dstPt
,则用于保存返回值。- 指定者:
-
getPoint2D
在接口BufferedImageOp
- 指定者:
-
getPoint2D
在接口RasterOp
- 参数:
-
srcPt
- 表示源点的Point2D
。 -
dstPt
- 用于存储结果的Point2D
。 - 返回值:
-
对应于源中指定点的目标中的
Point2D
。
-
getTransform
返回此变换操作使用的仿射变换。- 返回值:
-
与此操作关联的
AffineTransform
。
-
getRenderingHints
返回此变换操作使用的渲染提示。- 指定者:
-
getRenderingHints
在接口BufferedImageOp
- 指定者:
-
getRenderingHints
在接口RasterOp
- 返回值:
-
与此操作关联的
RenderingHints
对象。
-