如何设置颜色的R、G、B和Alpha组件?

11

一个 RGB 值由三个整数值组成,同时我还有该颜色的 Alpha 组件值。我应该如何设置这四个值以获得所需的颜色。


在什么上下文中设置这些值?是在哪个API中,还是在Color类中? - Sean Owen
3个回答

22
你可以创建一个Color对象(值应该是介于0-255之间的int或介于0f-1f之间的float):
Color c = new Color(red, green, blue, alpha);

如果您想使用该颜色绘制图像:

BufferedImage image = new BufferedImage(300, 200, BufferedImage.TYPE_INT_ARGB);
Graphics graphics = image.getGraphics(); 
graphics.setColor(c);
graphics.fillRect(50, 50, 100, 100);
graphics.dispose();

如果你只想设置一个像素(颜色模型必须是ARGB):

image.setRGB(50, 50, c.getRGB());

我如何更改已经设置的RGBA值?是否有一个c.setRGB(red,green,blue,alpha)函数? - Brethlosze
1
setRGB(x, y, rgba) 接受一个由红色、绿色、蓝色和 alpha 组成的整数。使用 rgba = new Color(r, g, b, alpha).getRGB() 创建具有透明度的颜色。 - dacwe

0

你可以使用:

panel1.setBackground(new Color(0.0f, 0.0f, 0.0f,0.5f));

-1

你也可以使用

int colorToSet = Color.argb(alpha, red, green, blue); to set Alpha

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接