2008-09-21 107 views
4

我試圖在列表視圖控件中顯示「LargeIcon」視圖,但是我指定的圖像是模糊的。這是我到目前爲止: alt text http://img220.imageshack.us/img220/1005/blurryiconsql3.jpgListview圖標顯示模糊(C#)

.png文件是48x48,這就是我設置顯示在ImageList屬性。有一件事我注意到了(這可能是原因),但我不知道如何改變它。在「圖像集合編輯器」中,您可以選擇ImageList控件所需的圖像,它看起來像是爲每個圖像設置了錯誤的大小。 alt text http://img83.imageshack.us/img83/5218/imagepropertiesmf9.jpg

正如您所看到的「PhysicalDimension」和「Size」被設置爲16x16並且不能被操縱。有沒有人有任何想法?非常感謝!

回答

3

當添加.PNG圖標格式大小時,編輯器傾向於選擇該文件中的第一個條目大小,因此它將拾取16x16條目,並將其伸出。這就是爲什麼你在那裏看到16x16的房子。正如所建議的那樣,對PNG的支持很差,我經常發現自己也滾動到另一種格式以避免這種情況。

如果您需要一個免費的編輯器或像Photoshop或Fireworks等更全面的功能並提取您想要的確切大小,您可以在Paint.Net中打開該文件。

+0

PNG沒有(據我所知和可以在網上找到)每個文件支持多個圖像大小,所以這個答案是不正確的(請儘管證明我錯了,我會刪除我的-1票) – 2008-10-21 12:34:10

4

請務必將ImageList.ImageSize設置爲48 x 48。

+0

我已經在設計器工具中設置,然後在代碼中手動設置: this.m_LargeImageList.ImageSize = new System.Drawing.Size(48,48); 仍然沒有不同:( – Balk 2008-09-21 18:11:53

+0

設置該字段後重新添加圖像。如果我記得圖像存儲在resx中 – Nick 2008-09-21 18:18:44

1

我不確定它在這個特定情況下的問題,但微軟對PNG格式的支持通常很差。嘗試以.bmp格式添加圖像,並且它們應該顯示正常。

+1

但.bmp沒有透明度,對吧? – Cornel 2009-01-29 08:34:04

1

確保將ImageList的大小設置爲48x48像素之前您添加的圖像

如果ImageList設置爲32x32並且您添加了48x48圖像,則該圖標將調整爲32x32。之後將ImageList更改爲48x48時,圖像會再次調整大小,從而導致質量下降並變得模糊。

此外,Paint.NET(或Photoshop)無法打開.ico文件。

Visual Studio/.NET可以很好地處理32位PNG圖像,但VS中的內置圖像編輯器有點缺乏光澤。

0

檢查ImageList上的ColorDepth設置。我和TreeView控件有類似的問題,但是在閱讀之前發佈的關於大小的發佈後,我發現這個設置稍微發揮了一點作用,並發現它極大地影響了來自ImageList的圖像的呈現方式。深度越高質量越好。