#include "BaseColor.h" //彩色方式 // 计算变密度显示时的颜色 int GetVDLDefaultColor(QColor *crColor,int nColorNum,int iMode) { int i,r,g,b; float flWidth,flTemp,temp; if ( nColorNum > 256 ) nColorNum = 256; flTemp = 255. / nColorNum; if ( iMode == MONO_MODE ) nColorNum = 2; for (i=0; i nColorNum / 2 ) temp = 255. * 2.*(float)(nColorNum-i) / (float)nColorNum; else temp = 255; r = temp; if ( i > nColorNum / 2 ) temp = 255. * (float)(nColorNum-i) / (float)(nColorNum*2); else temp = 255. * 6.*((float)nColorNum/2.-i)*((float)nColorNum/2-i)*((float)nColorNum/2-i) / (float)(nColorNum*nColorNum*nColorNum); b = temp; break; case GRAY_MODE: // 灰度 flWidth = (nColorNum-i) * flTemp; r = (int)flWidth ; g = (int)(flWidth ); b = (int)(flWidth ); break; case MONO_MODE: // 二值 if (i== 0) r = g = b = 255; else r = g = b =0; break; } crColor[i] = qRgb(r,g,b); } return nColorNum; }