1. ホーム
  2. java

[解決済み] ImageObserverとは何ですか?

2022-03-14 15:53:22

質問

画像を描画する場合、画像のオブザーバーが必要です。私が理解したところでは、BufferedImageがイメージオブザーバにあたります。しかし、私の質問は、画像オブザーバを定義し、それが何を行うのですか?私はかなり混乱しています。

どのように解決するのか?

まず最初に ImageObserver インターフェース . によると ドキュメント :

イメージの構築時に、イメージ情報に関する通知を受けるための非同期更新インターフェース。

つまり、作成前の画像を変更できるオブジェクト指向の利用方法である。メソッド imageUpdate(Image img, int infoflags, int x, int y, int width, int height) は、画像が変更されるたびに呼び出されます。これは true は、さらなる変更について通知されることを望む場合、そして false それ以外の場合は このメソッドは、サイズ、解像度、色などを強制的に変更するために使用することができます。また、エラーもある程度制御できます ( ERROR のフラグを立てます)。詳しくは これ .

例えば、画面に画像を描いていて、レンダリングが完了する前に大きな画像に変更する場合、描画しているものに寸法が変わったこと(より多くのスペースを割り当てること)とその変更に対処しなければならないことを知らせる方法が必要です。このため ImageObserver 非同期 は、その場合、非常に重要です。