2011-01-06 156 views
0

我正在製作一個代表圖像的類,並且在Windows中將圖像存儲在ImageList控件中。該類將用於將圖像輕鬆添加到其他控件(如ListView或Buttons),或者僅用於在屏幕上繪圖。我的問題是:什麼是這樣的適當的設計?每個圖像應該有一個圖像的ImageList,還是應該Image類的所有實例都有一個巨大的ImageList,或者什麼?我不太瞭解Windows類的內部,所以我不知道ImageList類有多「重」,但如果它相對便宜,我傾向於「每個實例都有它自己的圖像列表」。你有什麼建議?面向對象的圖像ImageList設計

回答

1

一般來說,我會在兩者之間推薦一些東西。

對於每個圖像都有一個不同的圖像列表似乎很愚蠢。它們旨在存儲圖像集合,並使這些集合的管理更加高效,而不是僅僅保存單個圖像。

然後,嘗試爲所有圖像使用一個巨大圖像列表有一些缺點。即,圖像列表中的所有圖像必須具有相同的尺寸。如果這不適用於您的圖像,則需要將它們放在單獨的圖像列表中。

但更重要的是,我不確定你爲什麼要考慮首先創建一個包含圖像列表的圖像類。除非你要存儲圖標/遊標或者需要擔心蒙版,爲什麼不把代碼封裝到代表圖像的位圖呢?無論如何,你將會傳遞給圖像列表的「添加」方法。

+0

謝謝,這似乎是正確的方式來做到這一點,我不知道爲什麼我沒有想到它。 – 2011-01-06 17:01:40