CSS   发布时间:2022-04-17  发布网站:大佬教程  code.js-code.com
大佬教程收集整理的这篇文章主要介绍了如何将ARGB打包成一个唯一的整数?大佬教程大佬觉得挺不错的,现在分享给大家,也给大家做个参考。
我有一个ARGB颜色映射的四个整数值(0 – 255).

现在我想创建这四个整数的唯一浮点数或整数.有可能像下面这样做吗?

sum  = 4 * 255 + A;
sum += 3 * 255 + R;
sum += 2 * 255 + G;
sum += 1 * 255 + B;@H_674_5@ 
 

这个价值真的很独特吗?

解决方法

您正在尝试进行基本转换或类似的事情.无论如何,逻辑就像在基本转换中一样.
4个字节= 32位.所以32位无符号整数会很好.

在这种情况下,您有:

ARGB = A<<24 + R<<16 + G<<8 + B@H_674_5@ 
 

就像这样:
你有4个字节的数据,意思是

xxxxxxxx xxxxxxxx xxxxxxxx xxxxxxxx@H_674_5@ 
 

其中x是1或0值的位.你像这样映射它们:

AAAAAAAA RRRRRRRR GGGGGGGG bbbbbbbb@H_674_5@ 
 

然后你所要做的就是添加它们,但在此之前你要移位.您将A位向左移动8 * 3(超出R,G和B位的限制),然后将R位移位8 * 2,依此类推.

您最终添加这些32位整数:

AAAAAAAA 00000000 00000000 00000000
00000000 RRRRRRRR 00000000 00000000
00000000 00000000 GGGGGGGG 00000000
00000000 00000000 00000000 bbbbbbbb@H_674_5@ 
 

其中a,R,G,B可以是0或1,并且整体表示通道的8位值.然后你只需添加它们,然后获得结果.或者如DarkDust所写,不是使用运算符,而是使用| (按位或)运算符,因为在这种特殊情况下它应该更快.

大佬总结

以上是大佬教程为你收集整理的如何将ARGB打包成一个唯一的整数?全部内容,希望文章能够帮你解决如何将ARGB打包成一个唯一的整数?所遇到的程序开发问题。

如果觉得大佬教程网站内容还不错,欢迎将大佬教程推荐给程序员好友。

本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。