列表视图图标显示模糊(C#)

时间:2008-09-21 17:57:45

标签: c# listview imagelist blurry

我正在尝试在listview控件中显示“LargeIcon”视图,但是我指定的图像模糊不清。这是我到目前为止: alt text http://img220.imageshack.us/img220/1005/blurryiconsql3.jpg

.png文件是48x48,这就是我设置为在ImageList属性中显示的内容。我注意到了一件事(这可能是原因),但我不知道如何改变它。在“图像集合编辑器”中,您可以在其中选择ImageList控件所需的图像,看起来它为每个图像设置了错误的大小。 alt text http://img83.imageshack.us/img83/5218/imagepropertiesmf9.jpg

正如您所见,“PhysicalDimension”和“Size”设置为16x16并且无法进行操作。有没有人有任何想法?非常感谢!

5 个答案:

答案 0 :(得分:4)

一定要将ImageList.ImageSize设置为48 x 48。

答案 1 :(得分:3)

当添加.PNG图标格式大小时,编辑器倾向于选择该文件中的第一个条目大小,因此它会拾取16x16条目并将其拉伸。这就是为什么你看到16x16的属性。正如所建议的那样,对PNG的支持很差,我经常发现自己也会转向其他格式以避免这种情况。

如果您需要免费编辑器或Photoshop或Fireworks等功能更全面的内容,您可以在 Paint.Net 中打开该文件,并提取您想要的确切尺寸。

答案 2 :(得分:1)

我不确定这个特定情况下是否存在问题,但微软对PNG格式的支持通常很差。尝试添加.bmp格式的图像,它们应该显示正常。

答案 3 :(得分:1)

确保将ImageList大小设置为48x48 px BEFORE 添加图像。

如果ImageList设置为32x32并且您添加了48x48图像,则图标将调整为32x32。之后将ImageList更改为48x48时,图像会再次调整大小,从而导致质量下降和模糊。

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

Visual Studio / .NET可以很好地处理32位PNG图像,但VS中的内置图像编辑器有点缺乏光泽。

答案 4 :(得分:0)

同时检查ImageList上的ColorDepth设置。我在使用TreeView控件时遇到了类似的问题,但是在阅读了之前关于大小的帖子后,我找到了这个设置,稍微玩了一下,发现它极大地影响了ImageList中图像的渲染方式。深度越高,质量越好。