返回介绍

java.awt.image 接口 ImageConsumer

发布于 2019-10-04 09:50:33 字数 9790 浏览 1080 评论 0 收藏 0

所有已知实现类:
AreaAveragingScaleFilter, BufferedImageFilter, CropImageFilter, ImageFilter, PixelGrabber, ReplicateScaleFilter, RGBImageFilter

public interface ImageConsumer

对通过 ImageProducer 接口的图像数据感兴趣的对象接口。将一个使用者添加到图像生产者时,生产者会使用此接口中所定义的方法调用传递关于图像的所有数据。

另请参见:
ImageProducer

字段摘要
staticintCOMPLETESCANLINES

按照一次(多个)完整扫描行的方式传递各像素。

staticintIMAGEABORTED

图像创建进程被故意中止。

staticintIMAGEERROR

生成图像时遇到错误。

staticintRANDOMPIXELORDER

按随机顺序传递各像素。

staticintSINGLEFRAME

该图像包含单幅静态图像。

staticintSINGLEFRAMEDONE

图像的某一帧已完成,但还有更多的帧要传递。

staticintSINGLEPASS

以单通道的方式传递各像素。

staticintSTATICIMAGEDONE

图像已完成,不再有像素或帧要传递。

staticintTOPDOWNLEFTRIGHT

按从上到下、从左到右的顺序传递各像素。

方法摘要
voidimageComplete(intstatus)

当 ImageProducer 已完成源图像所含所有像素的传递时,或者已完成多帧动画的单个帧时,或者加载或生成图像中出现错误时,就调用 imageComplete 方法。

voidsetColorModel(ColorModelmodel)

设置用于大多数像素的 ColorModel 对象,这些像素使用 setPixels 方法调用进行报告。

voidsetDimensions(intwidth, intheight)

使用 setDimensions 方法调用报告源图像尺寸。

voidsetHints(inthintflags)

设置 ImageConsumer 用于处理 ImageProducer 所传递像素的提示。

voidsetPixels(intx, inty, intw, inth, ColorModelmodel, byte[]pixels, intoff, intscansize)

一次或多次调用此方法来传递图像的各像素。

voidsetPixels(intx, inty, intw, inth, ColorModelmodel, int[]pixels, intoff, intscansize)

一次或多次调用 setPixels 方法来传递图像的各像素。

voidsetProperties(Hashtable<?,?>props)

设置与此图像关联的可扩展属性列表。

字段详细信息

RANDOMPIXELORDER

static final int RANDOMPIXELORDER
按随机顺序传递各像素。这就告诉 ImageConsumer 不要使用任何依赖于像素传递顺序的优化方法,在没有任何对 setHints 方法的调用时这应是默认的假定情况。
另请参见:
setHints(int) , 常量字段值

TOPDOWNLEFTRIGHT

static final int TOPDOWNLEFTRIGHT
按从上到下、从左到右的顺序传递各像素。
另请参见:
setHints(int) , 常量字段值

COMPLETESCANLINES

static final int COMPLETESCANLINES
按照一次(多个)完整扫描行的方式传递各像素。
另请参见:
setHints(int) , 常量字段值

SINGLEPASS

static final int SINGLEPASS
以单通道的方式传递各像素。每个像素仅以对 setPixels 方法的一次调用而出现。不符合此标准的一种图像格式是渐变 JPEG 图像,该图像以多通道的方式定义像素,每个通道都比前一个通道更为精确。
另请参见:
setHints(int) , 常量字段值

SINGLEFRAME

static final int SINGLEFRAME
该图像包含单幅静态图像。像素将在调用 setPixels 方法时定义,在不再传递图像数据之后,调用带有 STATICIMAGEDONE 标志的 imageComplete 方法。不符合这些标准的一种图像类型是视频馈送输出,即由用户操作的 3D 呈现表示形式。通过调用带有 SINGLEFRAMEDONE 标志的 imageComplete 方法来指示这些图像类型中每一帧的结束。
另请参见:
setHints(int) , imageComplete(int) , 常量字段值

IMAGEERROR

static final int IMAGEERROR
生成图像时遇到错误。
另请参见:
imageComplete(int) , 常量字段值

SINGLEFRAMEDONE

static final int SINGLEFRAMEDONE
图像的某一帧已完成,但还有更多的帧要传递。
另请参见:
imageComplete(int) , 常量字段值

STATICIMAGEDONE

static final int STATICIMAGEDONE
图像已完成,不再有像素或帧要传递。
另请参见:
imageComplete(int) , 常量字段值

IMAGEABORTED

static final int IMAGEABORTED
图像创建进程被故意中止。
另请参见:
imageComplete(int) , 常量字段值

方法详细信息

setDimensions

void setDimensions(intwidth,
                   intheight)
使用 setDimensions 方法调用报告源图像尺寸。
参数:
width - 源图像的宽度
height - 源图像的高度

setProperties

void setProperties(Hashtable<?,?>props)
设置与此图像关联的可扩展属性列表。
参数:
props - 要与此图像关联的属性列表

setColorModel

void setColorModel(ColorModelmodel)
设置用于大多数像素的 ColorModel 对象,这些像素使用 setPixels 方法调用进行报告。注意,使用 setPixels 所传递的所有像素集合都包含有其自己的 ColorModel 对象,所以不应假设此模型是传递像素值时使用的惟一模型。可以看到多个 ColorModel 对象的一种显著情况是这种情况下的过滤图像:对于它所过滤的每一个像素集合,过滤器确定是否可以使用原 ColorModel 不做改动地发送各像素,或者是否应该使用对于过滤过程更方便的 ColorModel 修改(过滤)并传递像素。
参数:
model - 指定的 ColorModel
另请参见:
ColorModel

setHints

void setHints(inthintflags)
设置 ImageConsumer 用于处理 ImageProducer 所传递像素的提示。ImageProducer 可以任意顺序传递各像素,但是如果 ImageConsumer 预先知道某些有关像素传递方式的信息,那么它就能够更高效地和以更高的质量将各像素缩放或转换到目标 ColorModel。应该在调用具有提示位掩码(该提示包含关于像素传递方式的信息)的任意 setPixels 方法前调用 setHints 方法。如果 ImageProducer 未遵从指定的提示准则,则结果是不明确的。
参数:
hintflags - ImageConsumer 用于处理像素的提示集合

setPixels

void setPixels(intx,
               inty,
               intw,
               inth,
               ColorModelmodel,
               byte[]pixels,
               intoff,
               intscansize)
一次或多次调用此方法来传递图像的各像素。每次调用都指定像素数组中所含源像素的矩形位置和大小。应该使用指定的 ColorModel 对象将像素转换为其相应颜色和 alpha 分量。像素 (m,n) 存储在像素数组的索引 (n * scansize + m + off) 处。使用此方法所传递的像素都以 byte 类型存储。
参数:
x,y - 要设置的像素区域左上角的坐标
w - 像素区域的宽度
h - 像素区域的高度
model - 指定的 ColorModel
pixels - 像素数组
off - pixels 数组中的偏移量
scansize - pixels 数组中一行像素到下一行的距离
另请参见:
ColorModel

setPixels

void setPixels(intx,
               inty,
               intw,
               inth,
               ColorModelmodel,
               int[]pixels,
               intoff,
               intscansize)
一次或多次调用 setPixels 方法来传递图像的各像素。每次调用都指定像素数组中所含源像素的矩形位置和大小。应该使用指定的 ColorModel 对象将像素转换为其相应颜色和 alpha 分量。像素 (m,n) 存储在像素数组的索引 (n * scansize + m + off) 处。使用此方法所传递的像素都以 int 类型存储。此方法都以 int 类型存储。
参数:
x, y - 要设置的像素区域左上角的坐标
w - 像素区域的宽度
h - 像素区域的高度
model - 指定的 ColorModel
pixels - 像素数组
off - pixels 数组中的偏移量
scansize - pixels 数组中一行像素到下一行的距离
另请参见:
ColorModel

imageComplete

void imageComplete(intstatus)
当 ImageProducer 已完成源图像所含所有像素的传递时,或者已完成多帧动画的单个帧时,或者加载或生成图像中出现错误时,就调用 imageComplete 方法。除非 ImageConsumer 还对后续的帧感兴趣,否则此时应该从以 ImageProducer 注册的使用者列表中将其自身移除。
参数:
status - 图像加载的状态
另请参见:
ImageProducer.removeConsumer(java.awt.image.ImageConsumer)

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

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

发布评论

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