00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00023 #include "fulllinear.h"
00024 #include <cmath>
00025
00026 fullLinear::fullLinear(int nbColors):colorMaker(nbColors){
00027 }
00028
00029 fullLinear::~fullLinear(){
00030 }
00031
00032
00033 QColor fullLinear::get(int level){
00034 int red, green, blue;
00035
00036
00037 int ii = level;
00038
00039 if (level == 50)
00040 level++;
00041
00042
00043 if (ii < nblevels/4)
00044 red = 0;
00045 else if (ii < nblevels /2)
00046 red = -255 + 4*ii*255/nblevels;
00047 else
00048 red = 255;
00049
00050
00051 if (ii< nblevels/2)
00052 green = 0;
00053 else if (ii < 3*nblevels/4)
00054 green = -510 + 4*ii*255/nblevels;
00055 else
00056 green = 255;
00057
00058
00059 if (ii< nblevels/4)
00060 blue = 4*255*ii/nblevels;
00061 else if (ii < nblevels/2)
00062 blue = 511 - 4*ii*255/nblevels;
00063 else if (ii < 3*nblevels/4)
00064 blue = 0;
00065 else
00066 blue = -767 + 4*ii*255/nblevels;
00067
00068 if (blue < 0) blue=0;
00069 if (blue > 255) blue = 255;
00070 if (green < 0) green = 0;
00071 if (green > 255) green = 255;
00072 if (red < 0) red = 0;
00073 if (red > 255) red = 255;
00074
00075 return QColor(red, green, blue);
00076 }