如何在具有一半不透明度/透明度的小程序中绘制填充矩形?
Matt
问问题
6132 次
3 回答
8
是的。
void foo(Graphics g) {
g.setColor(new Color(.3f, .4f, .5f, .6f);
g.fillRect(50, 50, 100, 100);
}
于 2009-02-01T07:13:47.350 回答
3
您使用的是什么 API?如果您使用 Java2D 中的 Graphics,当您创建 Color 对象时,您可以将透明度作为 0 到 1 之间的 alpha 添加到它们。
这是一篇关于 Java2D 的旧文章,其中包含一些示例
于 2009-01-31T22:53:14.303 回答
0
Paul Murray 的回答完全正确。但需要澄清的是,4 个颜色开关的混合和匹配是产生不同颜色的原因。以下是一些可帮助您入门的基础知识。
g.setColor(new Color(1f, 0f, 0f, 1f)); //RED
g.setColor(new Color(0f, 1f, 0f, 1f)); //GREEN
g.setColor(new Color(0f, 0f, 1f, 1f)); //BLUE
g.setColor(new Color(0f, 0f, 0f, 1f)); //BLACK
g.setColor(new Color(1f, 1f, 1f, 1f)); //WHITE
如果你使用十进制数字,你可以使颜色不透明。所以:
g.setColor(new Color(.5f, 0f, 0f, .5f)); //RED
将是 50% 的不透明和红色。然后你可以用那种不透明的颜色画出任何东西。如:
g.fillRect(50, 50, 100, 100);
正如保罗所说
于 2013-08-18T07:03:32.890 回答