哎, 问题解决不了, 我又要失眠了.....

kevin_is_shit 2001-07-27 03:44:37
在系统色深为16位时用GetPixel得到一24位位图(0,0)处的颜色为RGB(255,255,120) ,
发现在windows设置中把色深调到24位再用GetPixel却得到了RGB(255,255,117), 为什么会这样? 同样一幅位图, 只是把windows显示色深调整了一下,GetPixel得到的RGB为什么会不一样? 如果仅仅调整了一下windows显示色深RGB值就会不同的话, 后面就会乱套了, 因为还得根据RGB值执行相应的操作.

一幅任意位数的位图中的某一种颜色在任意色深条件下会变成什么颜色? 请问是否有相应的转换颜色的算法或者规则? 这问题真的很奇怪, 可能没说清楚. 哪为大虾能帮我解决问题?
...全文
61 4 打赏 收藏 转发到动态 举报
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
kevin_is_shit 2001-07-27
  • 打赏
  • 举报
回复
有什么方法能计算系统能显示出的颜色?
wolf721 2001-07-27
  • 打赏
  • 举报
回复
本来(0,0)的颜色值是RGB(255,255,117), 但在低于24BITS显示时是取得的最接近调色版中的颜色;如果是默认调色版的话,取得的值就是RGB(255,255,120) ;也就是说根据GetPixel得到RGB值执行相应的操作的方案在低于24BITS时是不可行的,因为那时系统显示能力有限的。
Areslee 2001-07-27
  • 打赏
  • 举报
回复
WINDOWS设置改变后你也跟着变不就行了
nustchen 2001-07-27
  • 打赏
  • 举报
回复
一般来讲,windows将不能显示的颜色映射为与它最接近的颜色,在图象处理的经典书籍中都有类似的算法,可以去参考一下,另外对于颜色影射API中好象有设置函数,只是记不起来了,我研究一下先。有心得请告诉大家。

16,472

社区成员

发帖
与我相关
我的任务
社区描述
VC/MFC相关问题讨论
社区管理员
  • 基础类社区
  • Web++
  • encoderlee
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

        VC/MFC社区版块或许是CSDN最“古老”的版块了,记忆之中,与CSDN的年龄几乎差不多。随着时间的推移,MFC技术渐渐的偏离了开发主流,若干年之后的今天,当我们面对着微软的这个经典之笔,内心充满着敬意,那些曾经的记忆,可以说代表着二十年前曾经的辉煌……
        向经典致敬,或许是老一代程序员内心里面难以释怀的感受。互联网大行其道的今天,我们期待着MFC技术能够恢复其曾经的辉煌,或许这个期待会永远成为一种“梦想”,或许一切皆有可能……
        我们希望这个版块可以很好的适配Web时代,期待更好的互联网技术能够使得MFC技术框架得以重现活力,……

试试用AI创作助手写篇文章吧