if( _r!=_g || _r!=_b ){
if ( _g > _b ) {
if ( _r > _g ) { //r>g>b
_v = _r/255;
_s = (_r - _b) / _r;
_h = 60 * (_g - _b) / (_r - _b);//这个乘60代表什么意思啊?
}else if( _r < _b ){ //g>b>r
_v = _g/255;
_s = (_g - _r) / _g;
_h = 60 * (_b - _r) / (_g - _r) + 120;
}else { //g=>r=>b
_v = _g/255;
_s = (_g - _b)/_g;
_h = 60 * (_b - _r) / (_g - _b) + 120;
}
}else{
if ( _r > _b ) { // r>b=>g
_v = _r/255;
_s = (_r - _g) / _r;
_h = 60 * (_g - _b) / (_r - _g);
if ( _h < 0 ) _h += 360;
}else if ( _r < _g ){ //b=>g>r
_v = _b/255;
_s = (_b - _r) / _b;
_h = 60 * (_r - _g)/(_b - _r) + 240;
}else { //b=>r=>g
_v = _b/255;
_s = (_b - _g) / _b;
_h = 60 * (_r - _g)/(_b - _g) + 240;
}
}
}else {
_h = _s = 0;
_v = _r/255;
}
解决方案 »
- 关于栈溢出
- 关于注入问题
- 我的CSocket服务器端出错 麻烦看一下(分不够可以加)
- 求用vc并使用opengl做模拟地球旋转,并可控制放大缩小的源码
- 请问,为什么一加上超时控制,就没有数据传输了呢?
- 在网络编程中,如何使用小的端口(即被系统占用的段口)?是不是需要使用端口重定向?怎么实现呢?
- 如何查找指定目录下某个文件是否存在?FindFirstFile不能指定全路径名。
- 应该怎样解决这样的内存泄漏问题
- mfc 绘图问题 求指导
- 天哪!!! 到底怎么在MFC里使一个菜单的选项一开始就变成无效啊,我的代码应该加在那里处理!
- 新人提问:iocp客户端 服务器发送接收 空白?
- 请帮忙解决字符串截取问题 谢谢大家
V=max(R,G,B) S=(V-min(R,G,B))*255/V if V!=0, 0 otherwise (G - B)*60/S, if V=R H= 180+(B - R)*60/S, if V=G 240+(R - G)*60/S, if V=B 若 H<0,则 H=H+360
使用上面从 0° 到 360° 变化的公式计算色调( hue)值,确保它们被 2 除后能试用于8位。