替代BitConverter.toint32
-
22-09-2019 - |
题
我在用着 BitConverter.ToInt32
打包3 byte
值成一个 int
, ,像这样:
byte R = 0;
byte G = 0;
byte B = 0;
int i = BitConverter.ToInt32(new byte[] { R, G, B, 0 }, 0);
有没有更快的方法来做到这一点,不涉及创建新的 int
每一次?从一个字节中获取字节 int
简单:
int i = 34234;
byte B = (byte)(i >> 0);
byte G = (byte)(i >> 8);
byte R = (byte)(i >> 16);
是否有一种简单的方法来扭转此过程并使用位移动来将RGB字节写回现有 int
?
解决方案
int i = (B << 0) | (G << 8) | (R << 16);
其他提示
你应该考虑 颜色结构. 。它具有R,G和B属性以及FromArgB()和Toargb()方法。
不隶属于 StackOverflow