Я получаю некоторые необработанные данные, которые будут храниться в байтовом массиве, где каждый 2 байта является значением пикселя (16 бит /px ). Для начала, массив будет содержать 100x100 * 2 байта (достаточно для изображения размером 100x100 пикселей). Я хотел бы отобразить эти данные в окне формы. В конце концов, я хотел бы обновить изображение с новыми данными, чтобы он выглядел как видеопоток. Не требуется строгая частота кадров. Как это может быть сделано? Любые примеры кода на С#?
EDIT: После некоторых предложений и обзоров десятков подобных вопросов я до сих пор не могу этого добиться. Вот общая идея того, что я пытаюсь сделать, но изображение не отображается в окне изображения на форме. Что конкретно неправильно с моей реализацией и как ее исправить?
// array of data I collected
byte[] dataArray = new byte[100 * 100 * 2];
//create a pointer to the data
IntPtr hglobal = Marshal.AllocHGlobal(100 * 100 * 2);
// copy my array to global
Marshal.Copy(dataArray, 0, hglobal, dataArray.Length);
// create a bitmap: 100x100 pixels, 2bytes/pixel, 16bitgrayscale
Bitmap newBitmap = new Bitmap(100, 100, 2 * 100, PixelFormat.Format16bppGrayScale, hglobal);
// display bitmap
pictureBox1.Image = newBitmap;
// free the memory
Marshal.FreeHGlobal(hglobal);