【问题标题】:Listview icons show up blurry (C#)Listview 图标显示模糊(C#)
【发布时间】:2010-09-11 19:28:38
【问题描述】:

我试图在列表视图控件中显示“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,无法进行操作。有没有人有任何想法?非常感谢!

【问题讨论】:

    标签: c# listview imagelist blurry


    【解决方案1】:

    请务必将 ImageList.ImageSize 也设置为 48 x 48。

    【讨论】:

    • 我在设计器工具中设置了,然后在代码中手动设置:this.m_LargeImageList.ImageSize = new System.Drawing.Size(48, 48);仍然没有区别:(
    • 设置该字段后重新添加图像。如果我记得,图像会存储在 resx 中。
    【解决方案2】:

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

    【讨论】:

    • 位图格式不支持透明度
    【解决方案3】:

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

    如果您需要免费的编辑器或功能更全面的软件(如 Photoshop 或 Fireworks),您可以在 Paint.Net 中打开文件,然后提取所需的确切大小。

    【讨论】:

    • PNG 不(据我所知并且可以在互联网上找到)支持每个文件多个图像大小。所以这个答案是不正确的(尽管请随时证明我错了,我会删除我的 -1 票)
    • 我相信你在考虑 ICO... :-(
    • 澄清一下,Vista 和 Up 中使用的图标是在 ICO 容器中压缩的 PNG,编辑器选择了存储在 ICO 中的错误图像,这是一个 PNG 压缩图像(选择它是因为它支持 loss-更少的压缩和阿尔法)。所以是的,您正在添加一个 .ico 文件,但它是您正在查看的 png 图像。而且,由于压缩,所有事物都无法正确识别...在这种情况下,使用了错误的(默认值:最小-> 16x16)尺寸,导致图像被拉伸/模糊。
    【解决方案4】:

    确保将 ImageList 大小设置为 48x48 像素在添加图像之前

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

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

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

    【讨论】:

    【解决方案5】:

    还要检查 ImageList 上的 ColorDepth 设置。我在 TreeView 控件上遇到了类似的问题,但是在阅读了关于大小的上一篇文章后,我发现了这个设置,稍微玩了一下,发现它极大地影响了 ImageList 中图像的呈现方式。深度越高质量越好。

    【讨论】:

    • 与 ListView 中的图标相同。设置 imageList.ColorDepth = ColorDepth.Depth32Bit 解决了问题。谢谢。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2014-02-27
    • 1970-01-01
    • 2018-01-21
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-03-24
    相关资源
    最近更新 更多