Cópia rápida da matriz Color32 [] para a matriz de bytes []

O que seria um método rápido paracopiar / converter aarray doColor32[] valores para umbyte[] amortecedor?Color32 é uma estrutura do Unity 3D que contém4 bytes, R, G, B and A respectively. O que estou tentando realizar é enviar a imagem renderizada da unidade através de um canal para outro aplicativo (Windows Forms) Atualmente estou usando este código:

private static byte[] Color32ArrayToByteArray(Color32[] colors)
{
    int length = 4 * colors.Length;
    byte[] bytes = new byte[length];
    IntPtr ptr = Marshal.AllocHGlobal(length);
    Marshal.StructureToPtr(colors, ptr, true);
    Marshal.Copy(ptr, bytes, 0, length);
    Marshal.FreeHGlobal(ptr);
    return bytes;
}

Obrigado e desculpe, eu sou novo no StackOverflow. Marinescu Alexandru

questionAnswers(1)

yourAnswerToTheQuestion