当您绘制图像时,它需要一个图像观察者。据我目前了解的 BufferedImage 是一个图像观察者。但我的问题是,图像观察者的定义是什么,它有什么作用?我很困惑。
最佳答案
首先,ImageObserver
是 接口(interface) .根据docs :
An asynchronous update interface for receiving notifications about Image information as the Image is constructed.
换句话说,它是一种使用图像的面向对象的方式,可以在完全创建之前进行修改。方法
imageUpdate(Image img, int infoflags, int x, int y, int width, int height)
每次修改图像时都会调用。它返回 true
如果它想收到有关进一步更改的通知和 false
否则。此方法可用于强制大小、分辨率、颜色等。它还为您提供了一些错误控制(ERROR
标志)。欲了解更多信息,请参阅 this .观察者还可以处理有关图像的重要信息——例如,如果我们在屏幕上绘制图像并在渲染完成之前将其更改为更大的图像,则必须有一种方法来通知我们正在绘制的任何内容维度已经改变(分配更多空间)并且它必须处理这些变化。事实
ImageObserver
在这种情况下,异步是非常重要的。
关于java - 什么是 ImageObserver?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19212990/