0

Imageを表すクラスを作成しています。Windowsでは、ImageListコントロールに画像を保存します。このクラスは、ListViewsやButtonsなどの他のコントロールに画像を簡単に追加したり、単に画面に描画したりするために使用されます。私の質問は:このようなものの適切なデザインは何ですか?各画像に1つの画像の独自のImageListを含める必要がありますか、それともImageクラスにそのすべてのインスタンスに対して1つの巨大なImageListを含める必要がありますか?Windowsクラスの内部についてはよくわからないので、ImageListクラスがどれほど「重い」かはわかりませんが、比較的安価な場合は、「各インスタンスに独自のイメージリストがある」ことに傾倒していました。おすすめは何ですか?

4

1 に答える 1

1

一般的に、私はその中間の何かをお勧めします。

画像ごとに異なる画像リストを用意するのはばかげているようです。それらは、単一の画像を保持するためではなく、画像のコレクションを保存し、これらのコレクションの管理をより効率的にするように設計されています。

繰り返しになりますが、すべての画像に対して 1 つの巨大な画像リストを使用しようとすると、欠点があります。つまり、イメージ リスト内のすべてのイメージは同じサイズでなければなりません。これがあなたの画像に当てはまらない場合は、別の画像リストに配置する必要があります。

しかし、もっと重要なことは、最初にイメージ リストを含むイメージ クラスを作成することを検討している理由がよくわかりません。アイコン/カーソルを保存したり、マスクを心配したりする必要がない限り、画像を表すビットマップへのハンドルをカプセル化してみませんか? いずれにせよ、これはイメージ リストの「追加」メソッドに渡すものと同じです。

于 2011-01-06T16:42:11.257 に答える