如何在C#中减去两个十六进制颜色?

时间:2016-11-11 20:53:11

标签: c# colors hex

我想在C#中减去两个十六进制数。我怎么能这样做?

这样的事情:       #7ffffff - #000123

1 个答案:

答案 0 :(得分:1)

十六进制文字以df.cache() df.count() # to fill the cache df.rdd.keyBy.... 为前缀,如0x中所示。因此,您可以将每个值分配给一个整数并将其减去:

0x7fffff

这无疑是一种天真的方法,在很多情况下都不会起作用,但鉴于你的评论,我认为这就足够了。考虑如果从较小的属性中减去具有较大属性的颜色会发生什么情况,如:

int color1 = 0x7fffff;
int color2 = 0x000123;

int difference = color1 - color2;

我想你不想从红色中借用1,将0xFF20FF - 0x003000 = 0xFEE0FF 添加到绿色中。在这种情况下,我可能希望结果为0xFF。在这种情况下,您需要一个方法来减去楼层为零的单个颜色元素,如:

0xFF00FF

我们在这里做了一些“抨击”,许多经验不足的程序员并不熟悉。如果上面的代码不完全有意义,您可能想了解:

>> right shift operator

<< left shift operator

& bitwise AND operator