java.lang.Object
java.awt.image.AffineTransformOp
- 所有已实现的接口:
-
BufferedImageOp,RasterOp
该类使用仿射变换来执行从源图像或
Raster中的2D坐标到目标图像或Raster中的2D坐标的线性映射。所使用的插值类型是通过构造函数指定的,可以通过RenderingHints对象或该类中定义的整数插值类型之一来指定。
如果在构造函数中指定了RenderingHints对象,则插值提示和渲染质量提示将用于设置此操作的插值类型。当需要颜色转换时,可以使用颜色渲染提示和抖动提示。
请注意必须满足以下约束条件:
- 源和目标必须不同。
- 对于
Raster对象,源中的波段数必须等于目标中的波段数。
- 参见:
-
Field Summary
FieldsModifier and TypeFieldDescriptionstatic final int双三次插值类型。static final int线性插值类型。static final int最近邻插值类型。 -
Constructor Summary
ConstructorsConstructorDescriptionAffineTransformOp(AffineTransform xform, int interpolationType) 给定一个仿射变换和插值类型构造一个AffineTransformOp。AffineTransformOp(AffineTransform xform, RenderingHints hints) 给定一个仿射变换构造一个AffineTransformOp。 -
Method Summary
Modifier and TypeMethodDescriptioncreateCompatibleDestImage(BufferedImage src, ColorModel destCM) 创建一个大小和波段数正确的零目标图像。创建一个大小和波段数正确的零目标Raster。final BufferedImagefilter(BufferedImage src, BufferedImage dst) 转换源BufferedImage并将结果存储在目标BufferedImage中。final WritableRasterfilter(Raster src, WritableRaster dst) 转换源Raster并将结果存储在目标Raster中。final Rectangle2DgetBounds2D(BufferedImage src) 返回转换后目标的边界框。final Rectangle2DgetBounds2D(Raster src) 返回转换后目标的边界框。final int返回此操作使用的插值类型。final Point2DgetPoint2D(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对象。
-