java.applet

java.awt

java.awt.color

java.awt.datatransfer

java.awt.dnd

java.awt.event

java.awt.font

java.awt.geom

java.awt.im

java.awt.im.spi

java.awt.image

java.awt.image.renderable

java.awt.print

java.beans

java.beans.beancontext

java.io

java.lang

java.lang.annotation

java.lang.instrument

java.lang.management

java.lang.ref

java.lang.reflect

java.math

java.net

java.nio

java.nio.channels

java.nio.channels.spi

java.nio.charset

java.nio.charset.spi

java.rmi

java.rmi.activation

java.rmi.dgc

java.rmi.registry

java.rmi.server

java.security

java.security.acl

java.security.cert

java.security.interfaces

java.security.spec

java.sql

java.text

java.util

java.util.concurrent

java.util.concurrent.atomic

java.util.concurrent.locks

java.util.jar

java.util.logging

java.util.prefs

java.util.regex

java.util.zip

javax.accessibility

javax.activity

javax.crypto

javax.crypto.interfaces

javax.crypto.spec

javax.imageio

javax.imageio.event

javax.imageio.metadata

javax.imageio.plugins.bmp

javax.imageio.plugins.jpeg

javax.imageio.spi

javax.imageio.stream

javax.management

javax.management.loading

javax.management.modelmbean

javax.management.monitor

javax.management.openmbean

javax.management.relation

javax.management.remote

javax.management.remote.rmi

javax.management.timer

javax.naming

javax.naming.directory

javax.naming.event

javax.naming.ldap

javax.naming.spi

javax.net

javax.net.ssl

javax.print

javax.print.attribute

javax.print.attribute.standard

javax.print.event

javax.rmi

javax.rmi.CORBA

javax.rmi.ssl

javax.security.auth

javax.security.auth.callback

javax.security.auth.kerberos

javax.security.auth.login

javax.security.auth.spi

javax.security.auth.x500

javax.security.cert

javax.security.sasl

javax.sound.midi

javax.sound.midi.spi

javax.sound.sampled

javax.sound.sampled.spi

javax.sql

javax.sql.rowset

javax.sql.rowset.serial

javax.sql.rowset.spi

javax.swing

javax.swing.border

javax.swing.colorchooser

javax.swing.event

javax.swing.filechooser

javax.swing.plaf

javax.swing.plaf.basic

javax.swing.plaf.metal

javax.swing.plaf.multi

javax.swing.plaf.synth

javax.swing.table

javax.swing.text

javax.swing.text

javax.swing.text.parser

javax.swing.text.rtf

javax.swing.tree

javax.swing.undo

javax.transaction

javax.transaction.xa

javax.xml

javax.xml.datatype

javax.xml.namespace

javax.xml.parsers

javax.xml.transform

javax.xml.transform.dom

javax.xml.transform.sax

javax.xml.transform.stream

javax.xml.validation

javax.xml.xpath

org.ietf.jgss

org.omg.CORBA

org.omg.CORBA_2_3

org.omg.CORBA_2_3.portable

org.omg.CORBA.DynAnyPackage

org.omg.CORBA.ORBPackage

org.omg.CORBA.portable

org.omg.CORBA.TypeCodePackage

org.omg.CosNaming

org.omg.CosNaming.NamingContextExtPackage

org.omg.CosNaming.NamingContextPackage

org.omg.Dynamic

org.omg.DynamicAny

org.omg.DynamicAny.DynAnyFactoryPackage

org.omg.DynamicAny.DynAnyPackage

org.omg.IOP

org.omg.IOP.CodecFactoryPackage

org.omg.IOP.CodecPackage

org.omg.Messaging

org.omg.PortableInterceptor

org.omg.PortableInterceptor.ORBInitInfoPackage

org.omg.PortableServer

org.omg.PortableServer.CurrentPackage

org.omg.PortableServer.POAManagerPackage

org.omg.PortableServer.POAPackage

org.omg.PortableServer.portable

org.omg.PortableServer.ServantLocatorPackage

org.omg.SendingContext

org.omg.stub.java.rmi

org.w3c.dom

org.w3c.dom.bootstrap

org.w3c.dom.events

org.w3c.dom.ls

org.xml.sax

org.xml.sax.ext

org.xml.sax.helpers

allclasses-frame

allclasses-noframe

constant-values

deprecated-list

help-doc

JavaTM 2 Platform
Standard Ed. 5.0

java.awt.image
类 RescaleOp

java.lang.Object
  继承者 java.awt.image.RescaleOp
所有已实现的接口:
BufferedImageOp, RasterOp

public class RescaleOp
extends Object
implements BufferedImageOp, RasterOp

通过将每个像素的样本值乘以一个缩放因子,然后加上一个偏移量,此类对源图像中数据进行逐像素重缩放。缩放后的样本值被限制在目标图像中的最小/最大可表示形式。

重缩放操作的伪代码如下:

for each pixel from Source object {
    for each band/component of the pixel {
        dstElement = (srcElement*scaleFactor) + offset
    }
}
 

对于 Raster,重缩放在 band 上运行。缩放常量集合的数量可能为 1,在这种情况下,对所有 band 都应用相同的常量,或者该数量必须等于 Source Raster band 的数量。

对于 BufferedImage,重缩放在颜色和 alpha 分量上进行。缩放常量集合的数量可能为 1,在这种情况下,对所有颜色(但不包括 alpha)分量应用相同的常量。否则,缩放常量集合的数量必须等于 Source 颜色分量,在这种情况下,不对 alpha 分量(如果存在)执行重缩放。如果这两种情况都不适用,则缩放常量集合的数量必须等于 Source 颜色分量加上 alpha 分量的数量,在这种情况下,要对所有颜色和 alpha 分量都执行重缩放。

无论所 band 数据是否自左乘 alpha,对于 BufferedImage 源执行重缩放的方式都是相同的。也就是说,无论数据是否自左乘 alpha,在 BufferedImage 源的原始数据的每个 band 上都执行重缩放。如果需要将颜色转换到目标 ColorModel,则该步骤要考虑源和目标的自左乘状态。

不能重缩放具有 IndexColorModel 的图像。

如果在构造方法中定义了 RenderingHints 对象,当需要颜色转换时,可以使用颜色呈现提示和抖动提示。

注意,允许进行 in-place 操作(也就是说,源和目标可以是相同的对象)。

另请参见:
RenderingHints.KEY_COLOR_RENDERING, RenderingHints.KEY_DITHERING

构造方法摘要
RescaleOp(float[] scaleFactors, float[] offsets, RenderingHints hints)
          构造一个具有所希望的缩放因子和偏移量的新 RescaleOp。
RescaleOp(float scaleFactor, float offset, RenderingHints hints)
          构造一个具有所希望的缩放因子和偏移量的新 RescaleOp。
 
方法摘要
 BufferedImage createCompatibleDestImage(BufferedImage src, ColorModel destCM)
          创建一个具有正确大小和 band 数的经检查的目标图像。
 WritableRaster createCompatibleDestRaster(Raster src)
          在给出源的情况下,创建一个具有正确大小和 band 数的经检查的目标 Raster
 BufferedImage filter(BufferedImage src, BufferedImage dst)
          对源 BufferedImage 进行重缩放。
 WritableRaster filter(Raster src, WritableRaster dst)
          对源 Raster 中的像素数据进行重缩放。
 Rectangle2D getBounds2D(BufferedImage src)
          返回重缩放后的目标图像的边界框。
 Rectangle2D getBounds2D(Raster src)
          返回重缩放后的目标 Raster 的边界框。
 int getNumFactors()
          返回此 RescaleOp 中使用的缩放因子和偏移量的数量。
 float[] getOffsets(float[] offsets)
          返回给定数组中的偏移量。
 Point2D getPoint2D(Point2D srcPt, Point2D dstPt)
          给定源中的一个点,返回对应目标点的位置。
 RenderingHints getRenderingHints()
          返回此操作的呈现提示。
 float[] getScaleFactors(float[] scaleFactors)
          返回给定数组中的缩放因子。
 
从类 java.lang.Object 继承的方法
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

构造方法详细信息

RescaleOp

public RescaleOp(float[] scaleFactors,
                 float[] offsets,
                 RenderingHints hints)
构造一个具有所希望的缩放因子和偏移量的新 RescaleOp。scaleFactor 和 offset 数组的长度必须满足上述类注释中规定的限制。RenderingHints 参数可以为 null。

参数:
scaleFactors - 指定的缩放因子
offsets - 指定的偏移量
hints - 指定的 RenderingHintsnull

RescaleOp

public RescaleOp(float scaleFactor,
                 float offset,
                 RenderingHints hints)
构造一个具有所希望的缩放因子和偏移量的新 RescaleOp。scaleFactor 和 offset 在源 Raster 中将应用于所有 band,在 BufferedImage 中将应用于所有颜色(但不包括 alpha)分量。RenderingHints 参数可以为 null。

参数:
scaleFactor - 指定的缩放因子
offset - 指定的偏移量
hints - 指定的 RenderingHintsnull
方法详细信息

getScaleFactors

public final float[] getScaleFactors(float[] scaleFactors)
返回给定数组中的缩放因子。为方便起见,也返回数组。如果 scaleFactors 为 null,则分配一个新数组。

参数:
scaleFactors - 包含此 RescaleOp 的缩放因子的数组
返回:
RescaleOp 的缩放因子。

getOffsets

public final float[] getOffsets(float[] offsets)
返回给定数组中的偏移量。为方便起见,也返回数组。如果 offset 为 null,则分配一个新数组。

参数:
offsets - 包含此 RescaleOp 的偏移量的数组
返回:
RescaleOp 的偏移量。

getNumFactors

public final int getNumFactors()
返回此 RescaleOp 中使用的缩放因子和偏移量的数量。

返回:
RescaleOp 的缩放因子和偏移量的数量。

filter

public final BufferedImage filter(BufferedImage src,
                                  BufferedImage dst)
对源 BufferedImage 进行重缩放。如果源图像中的颜色模型与目标图像中的不同,则在目标中转换像素。如果目标图像为 null,则使用源 ColorModel 创建一个 BufferedImage。如果此对象中缩放因子/偏移量的数量不符合上述类注释中规定的限制,或者源图像有一个 IndexColorModel,则可能抛出 IllegalArgumentException。

指定者:
接口 BufferedImageOp 中的 filter
参数:
src - 要过滤的 BufferedImage
dst - 过滤操作的目标或 null
返回:
过滤的 BufferedImage
抛出:
IllegalArgumentException - 如果 srcColorModel 是一个 IndexColorModel,或者此 RescaleOp 中缩放因子和偏移量的数量不符合上述类注释中规定的限制。

filter

public final WritableRaster filter(Raster src,
                                   WritableRaster dst)
对源 Raster 中的像素数据进行重缩放。如果目标 Raster 为 null,则创建一个新 Raster。源和目标必须具有相同的 band 数。否则抛出 IllegalArgumentException。注意,此对象中缩放因子/偏移量的数量必须满足上述类注释中规定的限制。否则抛出 IllegalArgumentException。

指定者:
接口 RasterOp 中的 filter
参数:
src - 要过滤的 Raster
dst - 过滤操作的目标或 null
返回:
过滤的 WritableRaster
抛出:
IllegalArgumentException - 如果 srcdst 没有相同的 band 数,或者此 RescaleOp 中缩放因子和偏移量的数量不符合上述类注释中规定的限制。

getBounds2D

public final Rectangle2D getBounds2D(BufferedImage src)
返回重缩放后的目标图像的边界框。因为这不是一个几何操作,所以边界框不会改变。

指定者:
接口 BufferedImageOp 中的 getBounds2D
参数:
src - 要过滤的 BufferedImage
返回:
表示目标图像边界框的 Rectangle2D

getBounds2D

public final Rectangle2D getBounds2D(Raster src)
返回重缩放后的目标 Raster 的边界框。因为这不是一个几何操作,所以边界框不会改变。

指定者:
接口 RasterOp 中的 getBounds2D
参数:
src - 重缩放后的目标 Raster
返回:
指定 Raster 的边界。

createCompatibleDestImage

public BufferedImage createCompatibleDestImage(BufferedImage src,
                                               ColorModel destCM)
创建一个具有正确大小和 band 数的经检查的目标图像。

指定者:
接口 BufferedImageOp 中的 createCompatibleDestImage
参数:
src - 过滤操作的源图像。
destCM - 目标的 ColorModel。如果为 null,则使用源的 ColorModel。
返回:
经检查的目标图像。

createCompatibleDestRaster

public WritableRaster createCompatibleDestRaster(Raster src)
在给出源的情况下,创建一个具有正确大小和 band 数的经检查的目标 Raster

指定者:
接口 RasterOp 中的 createCompatibleDestRaster
参数:
src - 源 Raster
返回:
经检查的目标 Raster

getPoint2D

public final Point2D getPoint2D(Point2D srcPt,
                                Point2D dstPt)
给定源中的一个点,返回对应目标点的位置。如果 dstPt 为非 null,则使用它保存返回值。因为这不是一个几何操作,所以 srcPt 将等于 dstPt。

指定者:
接口 BufferedImageOp 中的 getPoint2D
指定者:
接口 RasterOp 中的 getPoint2D
参数:
srcPt - 源图像中的一个点
dstPt - 目标点或 null
返回:
目标点的位置。

getRenderingHints

public final RenderingHints getRenderingHints()
返回此操作的呈现提示。

指定者:
接口 BufferedImageOp 中的 getRenderingHints
指定者:
接口 RasterOp 中的 getRenderingHints
返回:
RescaleOp 的呈现提示。

JavaTM 2 Platform
Standard Ed. 5.0

提交错误或意见
有关更多的 API 参考资料和开发人员文档,请参阅 Java 2 SDK SE 开发人员文档。该文档包含更详细的、面向开发人员的描述,以及总体概述、术语定义、使用技巧和工作代码示例。

版权所有 2004 Sun Microsystems, Inc. 保留所有权利。 请遵守许可证条款。另请参阅文档重新分发政策