- 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 intTYPE_BICUBIC双立方插值类型。static intTYPE_BILINEAR双线性插值类型。static intTYPE_NEAREST_NEIGHBOR最近邻插值类型。
-
构造方法摘要
构造方法 构造器 描述 AffineTransformOp(AffineTransform xform, int interpolationType)在给定仿射变换和插值类型的情况下构造AffineTransformOp。AffineTransformOp(AffineTransform xform, RenderingHints hints)在给定仿射变换的情况下构造AffineTransformOp。
-
方法摘要
所有方法 实例方法 具体的方法 变量和类型 方法 描述 BufferedImagecreateCompatibleDestImage(BufferedImage src, ColorModel destCM)创建具有正确大小和波段数的归零目标图像。WritableRastercreateCompatibleDestRaster(Raster src)创建具有正确大小和波段数的归零目标Raster。BufferedImagefilter(BufferedImage src, BufferedImage dst)转换源BufferedImage并将结果存储在目标BufferedImage。WritableRasterfilter(Raster src, WritableRaster dst)转换源Raster并将结果存储在目标Raster。Rectangle2DgetBounds2D(BufferedImage src)返回已转换目标的边界框。Rectangle2DgetBounds2D(Raster src)返回已转换目标的边界框。intgetInterpolationType()返回此op使用的插值类型。Point2DgetPoint2D(Point2D srcPt, Point2D dstPt)给定源中的一个点,返回相应目标点的位置。RenderingHintsgetRenderingHints()返回此转换操作使用的呈现提示。AffineTransformgetTransform()返回此转换操作使用的仿射变换。
-
-
-
构造方法详细信息
-
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对象。
-
-