【问题标题】:Hexadecimal alpha variable?十六进制 alpha 变量?
【发布时间】:2014-07-31 23:15:02
【问题描述】:

我的十六进制值有问题。我正在尝试找到一种方法,以便我的 HEX 的 alpha 随时间而变化。

现在我的代码看起来像:

color c = 0X00202020; 

试图将“0x00”更改为 var 以使其更容易被操纵。我已经尝试过...

int alph = 00; 


color = 0xalph202020; 

显然这不起作用。

还有其他方法可以在 HEX 中使用变量吗?

我真的不想将值转换为 RGB。希望能找到解决办法。

【问题讨论】:

标签: colors processing hex


【解决方案1】:

你没有提到哪种语言。在大多数情况下,您可以“位移”。 例如

int red = 0x20;
int green = 0x20;
int blue = 0x20;
int alpha = 0;

// Shift the alpha value "left" by 24 bits, red by 16 and green by 8.
// Assumes that each value is just 8bits long (0-255)
//
int color = (alpha << 24) + (red << 16) + (green <<8) + blue;

【讨论】:

  • 对不起,我正在使用 Processing... 对它来说还是很新的。还没有遇到移位,但我会查一下
  • 看起来处理工作和上面差不多:processing.org/reference/leftshift.html
【解决方案2】:

仅更改颜色的 alpha 值的最佳方法是使用带有十六进制值的“color()”方法,因此您无需将值转换为 RGB:

color c = color(0x00202020, alph);

【讨论】:

    猜你喜欢
    • 2021-02-23
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-04-21
    • 1970-01-01
    • 2018-12-06
    • 2019-02-01
    相关资源
    最近更新 更多