求一颜色算法(100分)

  • 主题发起人 主题发起人 catfox
  • 开始时间 开始时间
C

catfox

Unregistered / Unconfirmed
GUEST, unregistred user!
给予一个数字, 通过算法得出一系列颜色,颜色之间尽量容易分辨(该数字大概在20~30之间)

请大侠赐教
 
VAR aCOLOR:TCOLOR;
BEGIN
aCOLOR:=RGB(RANDOM(20)+20,RANDOM(20)+20,RANDOM(20)+20);
LABEL1.COLOR:=aColor;
END;
 
上面的算法不行, 在一个for循环里执行,得到的都是很很相近的颜色
 
procedure TForm1.Button1Click(Sender: TObject);
var AColor:TColor;
begin
Randomize;
AColor:=RGB(Round(Random(30)*8.5) Mod 255,Round(Random(30)*8.5) Mod 255,Round(Random(30)*8.5) Mod 255);
Label1.Color:=AColor;
end;
 
谢,

效果还不是很明显, 有其他算法吗
 
楼主说的‘不是很明显’是什么意思?
 
你可以先定义好颜色常数,如:ColorArr:array[20..30] of TColor = (crBlue,crYellow,...)
然后可以用给定的数取色了,如:myColor := ColorArr[21];
 
to zurich:

就是说颜色相差不大
 
真惨,还有这样的问题。
通过算法得出一系列颜色??是什么颜色,固定的?随机的?
 
http://www.efg2.com/Lab/Graphics/Colors/HSV.htm

去那个圆上取
 

Similar threads

回复
0
查看
1K
不得闲
S
回复
0
查看
860
SUNSTONE的Delphi笔记
S
S
回复
0
查看
787
SUNSTONE的Delphi笔记
S
S
回复
0
查看
1K
SUNSTONE的Delphi笔记
S
S
回复
0
查看
928
SUNSTONE的Delphi笔记
S
后退
顶部