【问题标题】:.BMP Image colors being changed in winform application.BMP 图像颜色在 winform 应用程序中被更改
【发布时间】:2010-12-19 15:58:03
【问题描述】:

我在 DataGridView 和自定义控件中显示了一些位图图像。这些都是基本的线稿类型图像,而不是图片。我最近注意到它们看起来都略微褪色/褪色,当我检查我拍摄的屏幕截图时,我发现任何应该具有值 0 的颜色通道的值都改为 44。值为 255 的颜色通道不受影响。

我用于工具栏图标的 PNG 图像不受影响。

问题似乎出在 formname.resx 文件中的 ImageStream 上,其中 ImageList 可以追溯到在 VS2k3 中创建项目时。那里的图像正确显示;所以这似乎是某种形式或形式的 VS2k8 问题。

读取 2k8 中的图像似乎可以解决问题,但我的列表足够长,以至于令人讨厌地耗时。我还能做些什么来让它表现得正常吗?

【问题讨论】:

标签: c# winforms image colors


【解决方案1】:

您可以将图像添加到资源文件(例如 Resources.resx)还是需要使用ImageList?编辑资源文件比编辑ImageList 容易得多,而且它的额外好处是可以在构建时包含资源;这样,如果您的图像发生变化,简单的重新编译将包含新的图像。

【讨论】:

  • 我可能可以,因为我认为直接访问 ImageList 封装得很好。我以前从未从代码中访问过 Resources.resx 中的任何内容(与设计器中的属性页面相比)。有什么需要注意的吗?
  • 如果您使用 Visual Studio 设计器编辑资源文件,它将生成一个类型安全的类结构供您在代码中使用(例如 Bitmap b = Properties.Resources.Image1;)。
猜你喜欢
  • 1970-01-01
  • 2014-08-30
  • 1970-01-01
  • 2013-03-29
  • 1970-01-01
  • 2010-12-15
  • 1970-01-01
  • 1970-01-01
  • 2020-08-05
相关资源
最近更新 更多