如何在小程序中绘制半不透明度的填充矩形?

发布于 2024-07-13 18:20:57 字数 31 浏览 4 评论 0原文

如何在小程序中绘制半不透明度/透明度的填充矩形?

How can I draw a filled rectangle in an applet with half opacity/transparency?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(3

梦忆晨望 2024-07-20 18:20:57

是的。

void foo(Graphics g) {
  g.setColor(new Color(.3f, .4f, .5f, .6f);
  g.fillRect(50, 50, 100, 100);
}

Yup.

void foo(Graphics g) {
  g.setColor(new Color(.3f, .4f, .5f, .6f);
  g.fillRect(50, 50, 100, 100);
}
述情 2024-07-20 18:20:57

您使用什么 API?
如果您使用 Java2D 中的 Graphics,则在创建 Color 对象时,可以将透明度添加为 0 到 1 之间的 alpha。

这是一篇关于 Java2D 的旧文章,其中有一些示例

What API are you using?
If you use Graphics from Java2D, when you create Color objects, you can add transparency to them as an alpha between 0 and 1.

Here's an old article on Java2D that has some examples

不回头走下去 2024-07-20 18:20:57

保罗·穆雷的回答完全正确。 但需要澄清的是,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);

正如保罗所说

Paul Murray's answer is exactly right. But to clarify, the mixing and matching of the 4 color switches is what makes different colors. Here are some of the basics to help you get started.

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

and if you use decimal numbers you can make the color opaque. so:

g.setColor(new Color(.5f, 0f, 0f, .5f)); //RED

would be 50% opaque and red. then you can draw whatever with that opaque color. such as:

g.fillRect(50, 50, 100, 100);

as Paul stated

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文