【发布时间】:2012-04-29 14:17:04
【问题描述】:
我将ImageList 用于TreeView 和ListView。我首先将图像质量设置为 32 位,然后添加半透明图像。质量看起来不错,但经过几分钟的编码、编译和执行应用程序后,质量看起来很差。
看截图:
使用的属性
ColorDepth: Depth32Bit
ImageSize: 16; 16
TransparentColor: Transparent
半透明但不完全透明的像素后面有黑色像素。
重新添加所有图像可以恢复原始质量,但几分钟后,它看起来像在屏幕截图的右侧。
【问题讨论】:
-
Visual Studio 的哪个版本?我敢打赌,如果您在运行时加载图像列表,它会正常工作。可能是 VS 代码中的一个错误,它在设计时存储/加载图像列表状态。
-
这是 VS2010 Ultimate。我还首先考虑在运行时加载它们,但这不是它应该的方式。还有其他想法吗?
-
在运行时从资源加载正是我会做的。然后我可以选择与字体缩放相匹配的大小。
-
@bytecode77 无法在正确的线程中响应,因为 Hans Passant 删除了他的答案。关于将图像添加到 imagelist - 这很奇怪,看看:stackoverflow.com/questions/28902091/32-bit-images-on-imagelist
标签: c# winforms graphics imagelist