C#创建Bitmap对象加载图片时色彩方案变化、画面褪色问题求助
问题根因
该问题是由色彩配置文件不匹配导致的:相机拍摄的原图通常会嵌入广色域色彩配置(如Adobe RGB、ProPhoto RGB),.NET 原生的Bitmap无参构造加载图片时默认不会应用图片内嵌的色彩管理规则,直接按标准sRGB色域解析图片数据,最终呈现出饱和度偏低的褪色效果。
修复方案
调整图片加载和显示逻辑,显式开启色彩管理支持即可解决,修改后的代码如下:
OpenFileDialog of = new OpenFileDialog(); if (of.ShowDialog() == DialogResult.OK) { // 加载时传入true参数,启用内嵌色彩配置解析 pictureBox2.Image = Image.FromFile(of.FileName, true); // 开启PictureBox控件的色彩管理渲染能力 pictureBox2.EnableColorManagement = true; }
如果按上述修改后仍存在色差,可以先将原图通过修图软件转换为sRGB色域后再进行加载,兼容性更强。
内容的提问来源于stack exchange,提问作者techno
相关产品推荐
相关产品推荐

