java.lang.Object
java.awt.image.AffineTransformOp
- 所有已实现的接口:
BufferedImageOp,RasterOp
此类使用仿射变换执行从源图像或
Raster 中的二维坐标到目标图像或 Raster 中的二维坐标的线性映射。使用的插值类型通过构造函数指定,由 RenderingHints 对象或此类中定义的整数插值类型之一指定。
如果在构造函数中指定了RenderingHints对象,插值提示和渲染质量提示用于设置此操作的插值类型。当需要进行颜色转换时,可以使用显色提示和抖动提示。
请注意,必须满足以下限制:
- 源和目标必须不同。
- 对于
Raster对象,源中的波段数必须等于目标中的波段数。
- 参见:
-
字段摘要
字段修饰符和类型Field描述static final int双三次插值类型。static final int双线性插值类型。static final int最近邻插值类型。 -
构造方法总结
构造方法构造方法描述AffineTransformOp(AffineTransform xform, int interpolationType) 构造一个AffineTransformOp给定仿射变换和插值类型。AffineTransformOp(AffineTransform xform, RenderingHints hints) 构造一个给定仿射变换的AffineTransformOp。 -
方法总结
修饰符和类型方法描述createCompatibleDestImage(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返回此变换操作使用的仿射变换。
-
字段详细信息
-
TYPE_NEAREST_NEIGHBOR
最近邻插值类型。- 参见:
-
TYPE_BILINEAR
双线性插值类型。- 参见:
-
TYPE_BICUBIC
双三次插值类型。- 参见:
-
-
构造方法详细信息
-
AffineTransformOp
构造一个给定仿射变换的AffineTransformOp。插值类型由RenderingHints对象确定。如果定义了插值提示,它将被使用。否则,如果定义了渲染质量提示,则根据其值确定插值类型。如果未指定提示(hints为空),则插值类型为TYPE_NEAREST_NEIGHBOR。- 参数:
xform- 用于操作的AffineTransform。hints-RenderingHints对象用于指定操作的插值类型。- 抛出:
ImagingOpException- 如果变换是不可逆的。- 参见:
-
AffineTransformOp
构造一个AffineTransformOp给定仿射变换和插值类型。- 参数:
xform- 用于操作的AffineTransform。interpolationType- 此类定义的整数插值类型常量之一:TYPE_NEAREST_NEIGHBOR、TYPE_BILINEAR、TYPE_BICUBIC。- 抛出:
ImagingOpException- 如果变换是不可逆的。
-
-
方法详情
-
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为空,则会创建一个新的Raster。如果源与目标相同,或者源中的 band 数不等于目标中的 band 数,则可能会抛出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为空,则使用适当的ColorModel;这个ColorModel可能有一个 alpha 通道,即使源ColorModel是不透明的。- 指定者:
createCompatibleDestImage在接口BufferedImageOp中- 参数:
src- 要转换的BufferedImage。destCM-ColorModel的目的地。如果为空,则使用适当的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对象。
-