java - 什么是 ImageObserver?

标签 java awt bufferedimage imageobserver

绘制图像时需要图像观察者。据我所知,目前 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/

相关文章:

android - 如何在android中加载BufferedImage?

Java 转换 BufferedImage "Subimage"由 4 个点定义

java - 这是缓存反射数据的正确方法吗?

java - org.openqa.selenium.WebDriverException :java. io.IOException 异常

java - 从一个坐标到另一个坐标的方位

java - 从 JPanel 获取高分辨率图像

Java:使用 toString().equals() 与 equals()

java - 为 JPanel 添加圆角背景图片

java - 在存在另一个可聚焦组件的情况下,AWT Canvas 无法获得焦点

java - 检测 BufferedImage 是否包含透明像素