返回介绍

java.awt.image 类 AffineTransformOp

发布于 2019-10-04 09:50:29 字数 12906 浏览 918 评论 0 收藏 0

java.lang.Object
  └java.awt.image.AffineTransformOp
所有已实现的接口:
BufferedImageOp, RasterOp

public class AffineTransformOp
extends Object
 
implements BufferedImageOp, RasterOp
 

此类使用仿射转换来执行从源图像或 Raster 中 2D 坐标到目标图像或 Raster 中 2D 坐标的线性映射。所使用的插值类型由构造方法通过一个 RenderingHints 对象或通过此类中定义的整数插值类型之一来指定。

如果在构造方法中指定了 RenderingHints 对象,则使用插值提示和呈现的质量提示为此操作设置插值类型。要求进行颜色转换时,可以使用颜色呈现提示和抖动提示。

注意,务必要满足以下约束:

  • 源图像与目标图像必须不同。
  • 对于 Raster 对象,源图像中的 band 数必须等于目标图像中的 band 数。
另请参见:
AffineTransform , BufferedImageFilter , RenderingHints.KEY_INTERPOLATION , RenderingHints.KEY_RENDERING , RenderingHints.KEY_COLOR_RENDERING , RenderingHints.KEY_DITHERING

字段摘要
staticintTYPE_BICUBIC

双三次插值类型。

staticintTYPE_BILINEAR

双线性的插值类型。

staticintTYPE_NEAREST_NEIGHBOR

最接近的邻插值类型。

构造方法摘要
AffineTransformOp(AffineTransformxform, intinterpolationType)

根据仿射转换和插值类型构造一个 AffineTransformOp

AffineTransformOp(AffineTransformxform, RenderingHintshints)

根据仿射转换构造 AffineTransformOp

方法摘要
BufferedImagecreateCompatibleDestImage(BufferedImagesrc, ColorModeldestCM)

创建一个具有正确大小和 band 数的经过检查的目标图像。

WritableRastercreateCompatibleDestRaster(Rastersrc)

创建一个具有正确大小和 band 数的经过检查的目标 Raster

BufferedImagefilter(BufferedImagesrc, BufferedImagedst)

转换源 BufferedImage 并将结果存储在目标 BufferedImage 中。

WritableRasterfilter(Rastersrc, WritableRasterdst)

转换源 Raster 并将结果存储在目标 Raster 中。

Rectangle2DgetBounds2D(BufferedImagesrc)

返回转换后的目标图像的边界框。

Rectangle2DgetBounds2D(Rastersrc)

返回转换后的目标图像的边界框。

intgetInterpolationType()

返回由此 op 使用的插值类型。

Point2DgetPoint2D(Point2DsrcPt, Point2DdstPt)

返回与源图像中给定点对应的目标点的位置。

RenderingHintsgetRenderingHints()

返回此转换操作使用的呈现提示。

AffineTransformgetTransform()

返回此转换操作使用的仿射转换。

从类 java.lang.Object 继承的方法
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait

字段详细信息

TYPE_NEAREST_NEIGHBOR

public static final int TYPE_NEAREST_NEIGHBOR
最接近的邻插值类型。
另请参见:
常量字段值

TYPE_BILINEAR

public static final int TYPE_BILINEAR
双线性的插值类型。
另请参见:
常量字段值

TYPE_BICUBIC

public static final int TYPE_BICUBIC
双三次插值类型。
另请参见:
常量字段值

构造方法详细信息

AffineTransformOp

public AffineTransformOp(AffineTransformxform,
                         RenderingHintshints)
根据仿射转换构造 AffineTransformOp 。插值类型从 RenderingHints 对象确定。如果定义了插值提示,则要使用该提示。否则,如果定义了呈现的质量提示,则从其值确定插值类型。如果没有指定提示( hints 为 null),则插值类型为 TYPE_NEAREST_NEIGHBOR
参数:
xform - 该操作要使用的 AffineTransform
hints - 用于指定该操作插值类型的 RenderingHints 对象。
抛出:
ImagingOpException - 如果转换是不可逆的。
另请参见:
RenderingHints.KEY_INTERPOLATION , RenderingHints.KEY_RENDERING

AffineTransformOp

public AffineTransformOp(AffineTransformxform,
                         intinterpolationType)
根据仿射转换和插值类型构造一个 AffineTransformOp
参数:
xform - 该操作要使用的 AffineTransform
interpolationType - 由此类定义的整数插值类型常量之一: TYPE_NEAREST_NEIGHBORTYPE_BILINEARTYPE_BICUBIC
抛出:
ImagingOpException - 如果转换是不可逆的。

方法详细信息

getInterpolationType

public final int getInterpolationType()
返回由此 op 使用的插值类型。
返回:
插值类型。
另请参见:
TYPE_NEAREST_NEIGHBOR , TYPE_BILINEAR , TYPE_BICUBIC

filter

public final BufferedImage filter(BufferedImagesrc,
                                  BufferedImagedst)
转换源 BufferedImage 并将结果存储在目标 BufferedImage 中。如果两个图像的颜色模型不匹配,则将颜色模型转换成目标颜色模型。如果目标图像为 null,则使用源 ColorModel 创建 BufferedImage

getBounds2D(BufferedImage) 返回的矩形坐标不一定与由此方法返回的 BufferedImage 的坐标相同。如果矩形的左上角坐标为负,则不用绘制矩形的这一部分。如果矩形的左上角坐标为正,则在目标 BufferedImage 中的该位置绘制过滤后的图像。

如果源图像与目标图像相同,则抛出 IllegalArgumentException

指定者:
接口 BufferedImageOp 中的 filter
参数:
src - 要转换的 BufferedImage
dst - 要在其中存储转换结果的 BufferedImage
返回:
过滤后的 BufferedImage
抛出:
IllegalArgumentException - 如果 srcdst 相同
ImagingOpException - 如果由于无效的图像格式、tile 格式、图像处理操作或任何其他不受支持的操作引起的数据处理错误,导致该图像无法转换。

filter

public final WritableRaster filter(Rastersrc,
                                   WritableRasterdst)
转换源 Raster 并将结果存储在目标 Raster 中。此操作逐个 band 执行转换。

如果目标 Raster 为 null,则创建一个新的 Raster 。如果源 Raster 与目标 Raster 相同,或者源 Raster 中的 band 数不等于目标 Raster 中的 band 数,则可能抛出 IllegalArgumentException

getBounds2D(Raster) 返回的矩形坐标不一定与由此方法返回的 WritableRaster 的坐标相同。如果矩形的左上角坐标为负,则不用绘制矩形的这一部分。如果矩形的左上角坐标为正数,则在目标 Raster 中的该位置绘制过滤后的图像。

指定者:
接口 RasterOp 中的 filter
参数:
src - 要转换的 Raster
dst - 要在其中存储转换结果的 Raster
返回:
转换后的 Raster
抛出:
ImagingOpException - 如果由于无效的图像格式、tile 格式、图像处理操作或任何其他不受支持的操作引起的数据处理错误,导致该 raster 无法转换。

getBounds2D

public final Rectangle2D getBounds2D(BufferedImagesrc)
返回转换后的目标图像的边界框。返回的矩形是转换后的点的实际边界框。返回矩形的左上角坐标不一定是 (0,0)。
指定者:
接口 BufferedImageOp 中的 getBounds2D
参数:
src - 要转换的 BufferedImage
返回:
表示目标图像边界框的 Rectangle2D

getBounds2D

public final Rectangle2D getBounds2D(Rastersrc)
返回转换后的目标图像的边界框。返回的矩形将是转换后的点的实际边界框。返回矩形的左上角坐标不一定是 (0, 0)。
指定者:
接口 RasterOp 中的 getBounds2D
参数:
src - 要转换的 Raster
返回:
表示目标图像边界框的 Rectangle2D

createCompatibleDestImage

public BufferedImage createCompatibleDestImage(BufferedImagesrc,
                                               ColorModeldestCM)
创建一个具有正确大小和 band 数的经过检查的目标图像。如果转换后的宽度和高度等于 0,则可能抛出 RasterFormatException

如果 destCM 为 null,则使用合适的 ColorModel ;即使源 ColorModel 是不透明的,此 ColorModel 也可能具有一个 alpha 通道。

指定者:
接口 BufferedImageOp 中的 createCompatibleDestImage
参数:
src - 要转换的 BufferedImage
destCM - 目标 ColorModel 。如果它为 null,则使用一个合适的 ColorModel
返回:
经过检查的目标图像。

createCompatibleDestRaster

public WritableRaster createCompatibleDestRaster(Rastersrc)
创建一个具有正确大小和 band 数的经过检查的目标 Raster 。如果转换后的宽度和高度等于 0,则可能抛出 RasterFormatException
指定者:
接口 RasterOp 中的 createCompatibleDestRaster
参数:
src - 要转换的 Raster
返回:
经过检查的目标 Raster

getPoint2D

public final Point2D getPoint2D(Point2DsrcPt,
                                Point2DdstPt)
返回与源图像中给定点对应的目标点的位置。如果指定了 dstPt ,则使用它来保存返回值。
指定者:
接口 BufferedImageOp 中的 getPoint2D
指定者:
接口 RasterOp 中的 getPoint2D
参数:
srcPt - 表示源点 Point2D
dstPt - 用于存储结果 Point2D
返回:
与源图像中指定点对应的目标图像中的 Point2D

getTransform

public final AffineTransform getTransform()
返回此转换操作使用的仿射转换。
返回:
与此操作关联的 AffineTransform

getRenderingHints

public final RenderingHints getRenderingHints()
返回此转换操作使用的呈现提示。
指定者:
接口 BufferedImageOp 中的 getRenderingHints
指定者:
接口 RasterOp 中的 getRenderingHints
返回:
与此操作关联的 RenderingHints 对象。

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。
列表为空,暂无数据
    我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
    原文