【发布时间】:2015-02-18 01:42:03
【问题描述】:
是否可以在 java 中使用超过 255 种红色、绿色和蓝色作为颜色?如果是这样,这些颜色将如何使用?我想知道,因为我正在制作一个生成随机颜色矩形的程序,但大多数颜色都是相似的。使用值超过 255 的颜色和值低于 255 的颜色有什么区别吗? Jpeg 图像格式使用超过 255 rgb 的颜色值,那么 java 也可以吗?如果我使用 jpeg 图像,颜色是否仍然保留超过 255 rgb 的颜色值?
这是我生成颜色并将形状绘制到屏幕上的代码:
Random r = new Random();
for(int i = 0;i<=shapes.size()-1;i++){
Shape s = shapes.get(i);
int red = r.nextInt(256);
int green = r.nextInt(256);
int blue = r.nextInt(256);
this.colors.add(new Color(red, green, blue));
//Draw the rectangle
g.setPaint(this.colors.get(i));
g.fill(s);
//Draw the outline
g.setPaint(Color.black);
g.draw(s);
}
我在前面的代码中添加了与颜色对应的形状。 “形状”是我的形状数组列表。 “颜色”是我与每个形状对应的颜色数组列表。
【问题讨论】:
-
上限是
255,而不是256。 -
@CommuSoft:由于各个颜色字段是从 0 开始的,因此对于每个子颜色、红色、绿色和蓝色,这仍然转换为 256 步。我的问题是为什么OP觉得他需要超过256 * 256 * 256颜色的分辨率?这个问题很不清楚。
-
嗯,我的印象是用户想要创建像
(299,0,50)这样的颜色,因此具有更高的红色强度。 -
在原发帖人澄清他的问题之前,我们的猜测很可能是错误的。
-
@HelloWorld:请重新表述您的问题。
标签: java