Я использую 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
?