要用不同颜色表示不同的温度(范围为(0,maxv)),需要定义参照的色标,就如同画图中自定义颜色时的颜色条。
现有一段代码如下,是基于红色系的定义:
if(f>=maxv) clr = RGB(255,255,255);
else if(f<=0) clr = RGB(0,0,0);
else if(f<=maxv/2){
t=(int)((maxv/2-f)*255/(maxv/2));
clr=RGB(255,t,t);
}
else {
t=(int)((f-maxv/2)*255/(maxv/2));
clr=RGB(255-t,0,0);
}这样的方法定义出来的色标,在区别度上不是很理想,因为是单色的;
各位有什么好的方法写出多色的色标,使的区别度变大;
这恐怕也是要有美感吧:)
现有一段代码如下,是基于红色系的定义:
if(f>=maxv) clr = RGB(255,255,255);
else if(f<=0) clr = RGB(0,0,0);
else if(f<=maxv/2){
t=(int)((maxv/2-f)*255/(maxv/2));
clr=RGB(255,t,t);
}
else {
t=(int)((f-maxv/2)*255/(maxv/2));
clr=RGB(255-t,0,0);
}这样的方法定义出来的色标,在区别度上不是很理想,因为是单色的;
各位有什么好的方法写出多色的色标,使的区别度变大;
这恐怕也是要有美感吧:)
解决方案 »
- ListBox 怎么用代码修改STYLE 属性
- inline钩子 能移植到mobile 平台吗?顺便问下钩子是改函数代码还是地址??
- 关于MFC中ADO访问数据库的问题
- CEdit控件自动换行的问题
- 为什么我的VS2005使用MFC动态连接的时候不能Rebuild,否则无法运行?
- 在VC世界中有这种形式的Datagrid控件吗?内详...
- 一个opengl的显示问题
- 谁能告诉我,他们到底是什么关系???
- 怎么判断一个CString 为汉字串呢?
- 程序编译通过,运行短时间没问题,长时间就是中断
- 如何在同一个窗口中播放各种格式文件:rm,avi,mpeg,asf,swf..........?
- 敬请赐教---怎样把多个位图存入一个新文件中去
谁还有什么好的想法,请告知。
如果谁还有更好的,欢迎拿出来共享! int R,G,B;
int y=int(f);
int x;
x=int((918*y/550));
if(x<0){
R=0;
G=0;
B=153;
}
else if(x>=0&&x<102){
R=0;
G=0;
B=x+153;
}
else if(x>=102&&x<357){
R=0;
G=x-102;
B=255;
}
else if(x>=357&&x<612){
R=x-357;
G=255;
B=612-x;
}
else if(x>=612&&x<867){
R=255;
G=867-x;
B=0;
}
else if(x>=867&&x<=918){
R=1122-x;
G=0;
B=0;
}
clr=RGB(R,G,B);