【问题标题】:how to use alpha value in Java Swing RGB color?如何在 Java Swing RGB 颜色中使用 alpha 值?
【发布时间】:2015-08-03 15:36:50
【问题描述】:

我有这个 GRB 颜色:24;116;205。它的 Hex 值为 1874CD。我在我的 Swing 应用程序中这样使用它:

Color clr = new Color(Ox1874CD);

设置面板背景。它有效。

现在我必须在 RGBA 中添加 alpha 值:24;116;205;1。

根据 Java API,alpha 值为 24-31 位。那么它的十六进制值应该是011874CD。

Color clr = new Color(Ox011874CD, true);

用于创建颜色。但它不起作用。面板的背景颜色不是预期的颜色。我还尝试将 alpha 十六进制值 01 放在十六进制数的末尾。这是相同的。谁能告诉我如何正确使用这个 alpha 值?

【问题讨论】:

    标签: java swing colors


    【解决方案1】:

    面板的背景颜色不是预期的。

    解释您的期望和所见。我们不是读心术,我们不知道您在期待什么。

    现在我必须在 RGBA: 24;116;205;1 中添加 alpha 值。

    我认为 alpha 值应该是 255,这意味着它是完全不透明的。值 1 意味着它(几乎)完全透明。

    根据 Java API,alpha 值为 24-31 位。那么它的Hex值应该是011874CD。

    在十六进制中,“255”将是“FF”。

    如果您需要更多帮助,请发布正确的SSCCE 来说明问题。我们无法执行一行代码来查看您所看到的内容。

    【讨论】:

    • alpha值不是从0到1?
    • @peterboston Alpha 的范围从 0x00(完全透明)到 0xFF(完全不透明),采用 new Color(int, boolean) 构造函数使用的 ARGB 格式。使用 0x01 的 alpha 进行绘画几乎不会做任何事情(取决于实际的颜色值)。
    • @peterboston, The alpha value is not from 0 to 1? - 你试过这个建议了吗?它奏效了吗?为什么不使用分别指定 (r, g, b, a) 值的构造函数。再次阅读 API。这取决于您使用哪个构造函数,值是 0 - 255 还是 0,0f - 1.0f。
    • 我从属性文件中读取颜色作为一个值,这就是我使用 Color(int, boolean) 构造函数的原因。
    猜你喜欢
    • 2021-04-03
    • 1970-01-01
    • 2021-10-06
    • 1970-01-01
    • 2019-06-27
    • 1970-01-01
    • 2017-09-11
    • 2017-06-25
    • 2022-01-22
    相关资源
    最近更新 更多