着色对象
问题描述:
我的问题是,我需要一个算法的图形输出一种方法来着色我所拥有的所有对象。所以我写了这一个位置:着色对象
int[] next_color = {0x70,0x00,0x00};
private int max_co = 0xF0;
private int next_c = 0x01;
private int step = 0x10;
public Color getNextColor(){
next_color[next_c%3]%=max_co;
next_color[(next_c++)%3]+=step;
return new Color(next_color[0], next_color[1], next_color[2]);
}
在写这个我在想什么:我发现,在#707070颜色会显得偏喜欢黑色,所以它没有任何意义来使用它们。我还发现只有大于0x10的步才是(真的很好)被眼所识别。但现在我只有红色和一些蓝色物体(当使用少量物体时) - 因此它看起来有点像废话。有没有一种很好的方法来生成一种新颜色,与前一种颜色和下一种颜色可以有很大的区别?
[算法随机生成一个美观的调色板]的可能重复(http://stackoverflow.com/questions/43044/algorithm-to-randomly-generate-an-aesthetically-pleasing-color-palette) – Thilo
请注意,某些看起来黑色的实际值取决于很多因素,而不是至少在使用的显示器上。在这里#303060仍然*清晰*与黑色区分开来。 –
您需要多少种不同的颜色?如果数字较小,那么查找并硬编码一组预定义的可区分颜色可能是更好的方法。 –