在Java中创建随机颜色?
我想在Java应用程序中的JPanel上绘制随机的彩色点。有没有办法创建随机颜色?
使用随机库:
import java.util.Random;
然后创建一个随机生成器:
Random rand = new Random();
由于颜色分为红绿和蓝,您可以通过创建随机原色来创建新的随机颜色:
// Java 'Color' class takes 3 floats, from 0 to 1.
float r = rand.nextFloat();
float g = rand.nextFloat();
float b = rand.nextFloat();
然后,要最终创建颜色,请将原色传递到构造函数中:
Color randomColor = new Color(r, g, b);
您还可以使用此方法创建不同的随机效果,例如创建随机颜色,更加强调某些颜色...通过较少的绿色和蓝色以产生“粉红色”随机颜色。
// Will produce a random colour with more red in it (usually "pink-ish")
float r = rand.nextFloat();
float g = rand.nextFloat() / 2f;
float b = rand.nextFloat() / 2f;
或者,为了确保只生成“浅色”颜色,您可以生成始终>每个颜色元素的 0.5 的颜色:
// Will produce only bright / light colours:
float r = rand.nextFloat() / 2f + 0.5;
float g = rand.nextFloat() / 2f + 0.5;
float b = rand.nextFloat() / 2f + 0.5;
该类还可以使用各种其他颜色函数,例如使颜色更亮:Color
randomColor.brighter();
可以在此处阅读该课程的概述:http://download.oracle.com/javase/6/docs/api/java/awt/Color.htmlColor
随机 RGB 值的单行:
new Color((int)(Math.random() * 0x1000000))