public class AffineTransformOp extends Object implements BufferedImageOp, RasterOp
Raster
图像中的Raster
到2D坐标的线性映射或Raster
。
所使用的内插类型由构造函数指定,由RenderingHints
对象或由此类中定义的整数插值类型之一指定。
如果在RenderingHints
函数中指定了一个RenderingHints
对象,则使用插值提示和呈现质量提示来设置此操作的插值类型。 当需要颜色转换时,可以使用显色提示和抖动提示。
请注意,必须满足以下约束:
Raster
对象,源中的频带数必须等于目标中的频带数。 Modifier and Type | Field and Description |
---|---|
static int |
TYPE_BICUBIC
双三次插补类型。
|
static int |
TYPE_BILINEAR
双线性插值类型。
|
static int |
TYPE_NEAREST_NEIGHBOR
最近邻插值类型。
|
Constructor and Description |
---|
AffineTransformOp(AffineTransform xform, int interpolationType)
构造一个
AffineTransformOp 给出一个仿射变换和插值类型。
|
AffineTransformOp(AffineTransform xform, RenderingHints hints)
构造一个
AffineTransformOp 给出一个仿射变换。
|
Modifier and Type | Method and Description |
---|---|
BufferedImage |
createCompatibleDestImage(BufferedImage src, ColorModel destCM)
创建带有正确大小和频带数的归零目的地图像。
|
WritableRaster |
createCompatibleDestRaster(Raster src)
创建带有正确大小和频带数的零目的地
Raster 。
|
BufferedImage |
filter(BufferedImage src, BufferedImage dst)
转换源
BufferedImage 并将结果存储在目标
BufferedImage 。
|
WritableRaster |
filter(Raster src, WritableRaster dst)
转换源
Raster 并将结果存储在目标
Raster 。
|
Rectangle2D |
getBounds2D(BufferedImage src)
返回已转换目的地的边界框。
|
Rectangle2D |
getBounds2D(Raster src)
返回已转换目的地的边界框。
|
int |
getInterpolationType()
返回此op使用的插值类型。
|
Point2D |
getPoint2D(Point2D srcPt, Point2D dstPt)
返回在源中给出点的对应目标点的位置。
|
RenderingHints |
getRenderingHints()
返回此变换操作使用的渲染提示。
|
AffineTransform |
getTransform()
返回此变换操作使用的仿射变换。
|
@Native public static final int TYPE_NEAREST_NEIGHBOR
@Native public static final int TYPE_BILINEAR
@Native public static final int TYPE_BICUBIC
public AffineTransformOp(AffineTransform xform, RenderingHints hints)
AffineTransformOp
给出一个仿射变换。
插值类型由RenderingHints
对象确定。
如果定义了插补提示,将使用它。
否则,如果定义了渲染质量提示,则根据其值确定插值类型。
如果没有指定提示( hints
为空),插值类型为TYPE_NEAREST_NEIGHBOR
。
xform
-该
AffineTransform
要使用的操作。
hints
-该
RenderingHints
用于指定操作的内插类型的对象。
ImagingOpException
- 如果变换是不可逆的。
RenderingHints.KEY_INTERPOLATION
,
RenderingHints.KEY_RENDERING
public AffineTransformOp(AffineTransform xform, int interpolationType)
AffineTransformOp
给出仿射变换和插值类型。
xform
-该
AffineTransform
要使用的操作。
interpolationType
-一个由这个类定义的整数内插类型的常量:
TYPE_NEAREST_NEIGHBOR
,
TYPE_BILINEAR
,
TYPE_BICUBIC
。
ImagingOpException
- 如果变换是不可逆的。
public final int getInterpolationType()
TYPE_NEAREST_NEIGHBOR
,
TYPE_BILINEAR
,
TYPE_BICUBIC
public final BufferedImage filter(BufferedImage src, BufferedImage dst)
BufferedImage
并将结果存储在目标BufferedImage
。
如果两个图像的颜色模型不匹配,则执行到目标颜色模型的颜色转换。
如果目标图像为null, BufferedImage
与源创建ColorModel
。
矩形的返回的坐标getBounds2D(BufferedImage)
不一定相同的坐标BufferedImage
此方法返回。 如果矩形的左上角坐标为负,则不绘制矩形的这一部分。 如果矩形的左上角坐标是正的,则滤波图像被绘制在目的地BufferedImage
中的该位置。
一个IllegalArgumentException
如果源是一样的目的地被抛出。
filter
在界面
BufferedImageOp
src
-该
BufferedImage
改造。
dst
-
BufferedImage
在其中存储转换的结果。
BufferedImage
。
IllegalArgumentException
- 如果
src
和
dst
是相同的
ImagingOpException
- 如果由于可能由无效的图像格式,瓦片格式或图像处理操作引起的数据处理错误或任何其他不受支持的操作,图像无法转换。
public final WritableRaster filter(Raster src, WritableRaster dst)
Raster
并将结果存储在目标Raster
。
该操作按照频带进行变换。
如果目的地Raster
为空,则创建一个新的Raster
。 一个IllegalArgumentException
如果源是相同的目的地,或者如果在源频带的数目不等于在目标频带的数量可以被抛出。
矩形的返回的坐标getBounds2D(Raster)
不一定相同的坐标WritableRaster
此方法返回。 如果矩形的左上角坐标为负,则不绘制矩形的这一部分。 如果矩形的坐标是正的,则滤波的图像在目的地的该位置绘制Raster
。
filter
在界面
RasterOp
src
-该
Raster
改造。
dst
-
Raster
在其中存储转换的结果。
Raster
。
ImagingOpException
- 如果由于可能由无效的图像格式,图块格式或图像处理操作引起的数据处理错误或任何其他不受支持的操作导致栅格无法转换。
public final Rectangle2D getBounds2D(BufferedImage src)
getBounds2D
在界面
BufferedImageOp
src
-该
BufferedImage
进行改造。
Rectangle2D
代表目的地的边界框。
public final Rectangle2D getBounds2D(Raster src)
getBounds2D
在接口
RasterOp
src
-该
Raster
进行改造。
Rectangle2D
代表目的地的边界框。
public BufferedImage createCompatibleDestImage(BufferedImage src, ColorModel destCM)
RasterFormatException
如果经变换的宽度或高度是等于0时可能抛出。
如果destCM
为空,则使用适当的ColorModel
; 即使源ColorModel
是不透明的,该ColorModel
也可以具有阿尔法通道。
createCompatibleDestImage
在接口
BufferedImageOp
src
-该
BufferedImage
进行改造。
destCM
- ColorModel
的ColorModel。
如果为空,则使用适当的ColorModel
。
public WritableRaster createCompatibleDestRaster(Raster src)
Raster
。
甲RasterFormatException
如果经变换的宽度或高度是等于0时可能抛出。
createCompatibleDestRaster
在界面
RasterOp
src
-该
Raster
进行改造。
Raster
。
public final Point2D getPoint2D(Point2D srcPt, Point2D dstPt)
dstPt
dstPt,则用于保存返回值。
getPoint2D
在界面
BufferedImageOp
getPoint2D
在接口
RasterOp
srcPt
-
Point2D
源点的Point2D。
dstPt
- 存储结果的
Point2D
。
Point2D
中的Point2D对应于源中的指定点。
public final AffineTransform getTransform()
AffineTransform
与此操作关联。
public final RenderingHints getRenderingHints()
getRenderingHints
在界面
BufferedImageOp
getRenderingHints
在接口
RasterOp
RenderingHints
对象。
Submit a bug or feature
For further API reference and developer documentation, see Java SE Documentation. That documentation contains more detailed, developer-targeted descriptions, with conceptual overviews, definitions of terms, workarounds, and working code examples.
Copyright © 1993, 2014, Oracle and/or its affiliates. All rights reserved.