Squish.ColourBlock.Unpack565 C# (CSharp) Метод

Unpack565() приватный статический Метод

private static Unpack565 ( byte packed, int packedOffset, byte colour, int colourOffset ) : int
packed byte
packedOffset int
colour byte
colourOffset int
Результат int
        private static int Unpack565(byte[] packed, int packedOffset, byte[] colour, int colourOffset)
        {
            // Build the packed value.
            var value = (int)packed[packedOffset] | ((int)packed[packedOffset + 1] << 8);

            // Get the components in the stored range.
            var red = (byte)((value >> 11) & 0x1F);
            var green = (byte)((value >> 5) & 0x3F);
            var blue = (byte)(value & 0x1F);

            // Scale up to 8 bits
            colour[colourOffset + 0] = (byte)((red << 3) | (red >> 2));
            colour[colourOffset + 1] = (byte)((green << 2) | (green >> 4));
            colour[colourOffset + 2] = (byte)((blue << 3) | (blue >> 2));
            colour[colourOffset + 3] = 255;

            return value;
        }