.net 4.0 32位ImageList图像未正确显示

.net 4.0 32位ImageList图像未正确显示,.net-4.0,32-bit,imagelist,alpha-transparency,.net 4.0,32 Bit,Imagelist,Alpha Transparency,当在按钮或ListView上显示时,32位图像列表中的32位图像无法正确显示。图片边缘有一些黑色半透明像素,它们具有类似PNG的Alpha通道 此外,图片会被损坏,质量会因其上的线条而降低,就像在不重新采样的情况下调整图片大小一样 插入的图像具有32位质量,并且具有与ImageList图像相同的尺寸 我尝试使用资源文件将相同的图像放在按钮上,但对于ListView,我必须使用ImageList,这不太好 是否存在与32位ImageList相关的内存泄漏或已知问题?此问题仅在导入32位16x16

当在按钮或ListView上显示时,32位图像列表中的32位图像无法正确显示。图片边缘有一些黑色半透明像素,它们具有类似PNG的Alpha通道

此外,图片会被损坏,质量会因其上的线条而降低,就像在不重新采样的情况下调整图片大小一样

插入的图像具有32位质量,并且具有与ImageList图像相同的尺寸

我尝试使用资源文件将相同的图像放在按钮上,但对于ListView,我必须使用ImageList,这不太好


是否存在与32位ImageList相关的内存泄漏或已知问题?

此问题仅在导入32位16x16 ICO文件时发生。如果导入32位16x16 PNG文件,则没有问题


现在你知道了

我同意Velcro的评论..似乎是32位System.Drawing dll有问题

我在32位系统上也遇到了同样的问题,缩略图质量很差,结果证明这不是Listview控件,而是我们的缩略图生成。我们加入了本文提供的代码:它工作得很好

我将此归因于System.Drawing的问题,因为我们最初让listview为我们进行缩放。我们修复问题的第二次尝试是使用开源控件。这也有完全相同的问题,它仍然使用System.Drawing来生成拇指


然后,我们尝试用System.Drawing以通用方式手动生成拇指,但仍然失败。最后决定使用调整上述解决方案大小的选项,这就解决了问题。

Hmmm,也许不是!请参见dls2004发布的消息: