【发布时间】:2011-12-03 02:44:36
【问题描述】:
我有一个带有两个按钮的表单。
我通过在 VS 的属性编辑器中设置Image 属性(使用Import... 按钮)为其中一个分配了一个图像(16 x 16、32 位深度png)。
我还有一个 ImageList(16 x 16 ImageSize 和 Depth32Bit ColorDepth),我也从属性编辑器中分配了与第一个按钮相同的图像 -> Images 然后@ 987654330@。然后我以这种方式将此图像分配给我的第二个按钮:
button2.Image = imageList.Images[0];
这就是图像的外观(实际大小的 2 倍):
是否可以通过使用ImageList 让我的第二个按钮看起来像我的第一个按钮?我之所以使用ImageList 是因为在检查性能时,根据 VS 的性能向导,从资源加载图像的代码行是热点。
我的应用程序将有一个控件列表,每个控件都有一堆带有图像的按钮,所以我希望它们尽可能快地加载。所以我有一个静态的ImageList,每个控件都可以从中获取它们的图像。
【问题讨论】:
-
这不是 16x16 的图像,它至少是 32x32。使得记录在案的 ImageList.ColorDepth 也很可能是错误的,这可以解释颜色损失。
-
@HansPassant:当我双击 -> 属性 -> 详细信息时,这就是 Windows 告诉我的。请注意,我的图像是实际大小的 2 倍。
-
你找出问题所在了吗?我也有同样的问题。
-
@tunafish24 这是很久以前的事了,但我认为当我停止使用 Photoshop 编辑图像时,这种情况就不再发生了。从来没有想过为什么会发生这种情况。
标签: c# .net winforms visual-studio visual-studio-2010