public interface ImageProducer
用于生成图像数据的对象的接口。每个图像包含一个ImageProducer,用于在需要时重建图像,例如,当图像的新尺寸被缩放时,或者当请求图像的宽度或高度时。
- 参见:
-
Method Summary
Modifier and TypeMethodDescriptionvoid
使用ImageProducer为以后重建Image时,向ImageProducer注册一个ImageConsumer以访问图像数据。boolean
确定指定的ImageConsumer对象当前是否已注册为其消费者之一。void
从当前已注册接收图像数据的消费者列表中移除指定的ImageConsumer对象。void
代表ImageConsumer请求ImageProducer尝试以TOPDOWNLEFTRIGHT顺序重新发送图像数据一次,以便可以使用依赖按顺序接收像素的更高质量转换算法来生成图像的更好输出版本。void
将指定的ImageConsumer对象注册为消费者,并立即开始重建图像数据,然后将其传递给此消费者和可能已经注册到生产者的任何其他消费者。
-
Method Details
-
addConsumer
使用ImageProducer为以后重建Image时,向ImageProducer注册一个ImageConsumer以访问图像数据。ImageProducer可以自行决定立即使用ImageConsumer接口将图像数据传递给消费者,或者在下一次可用的图像重建由调用startProduction方法触发时传递数据。- 参数:
-
ic
- 指定的ImageConsumer - 参见:
-
isConsumer
确定指定的ImageConsumer对象当前是否已注册为其消费者之一。- 参数:
-
ic
- 指定的ImageConsumer - 返回:
- 如果指定的ImageConsumer已注册为此ImageProducer的消费者,则返回true;否则返回false。
-
removeConsumer
从当前已注册接收图像数据的消费者列表中移除指定的ImageConsumer对象。移除当前未注册的消费者不被视为错误。ImageProducer应尽快停止向此消费者发送数据。- 参数:
-
ic
- 指定的ImageConsumer
-
startProduction
将指定的ImageConsumer对象注册为消费者,并立即开始重建图像数据,然后将其传递给此消费者和可能已经注册到生产者的任何其他消费者。此方法与addConsumer方法不同之处在于应尽快触发图像数据的再现。- 参数:
-
ic
- 指定的ImageConsumer - 参见:
-
requestTopDownLeftRightResend
代表ImageConsumer请求ImageProducer尝试以TOPDOWNLEFTRIGHT顺序重新发送图像数据一次,以便可以使用依赖按顺序接收像素的更高质量转换算法来生成图像的更好输出版本。如果ImageProducer无法按照该顺序重新发送数据,则可以忽略此调用。如果可以重新发送数据,ImageProducer应通过执行以下最小一组ImageConsumer方法调用来响应:ic.setHints(TOPDOWNLEFTRIGHT | < otherhints >); ic.setPixels(...); // 需要多次 ic.imageComplete();
- 参数:
-
ic
- 指定的ImageConsumer - 参见:
-