поток растровых данных с помощью opengl в c # - PullRequest
0 голосов
/ 07 августа 2020

При потоковой передаче с помощью окна изображений происходит снижение производительности. Я ищу библиотеку, которая поддерживает 4k 30fps. Думаю, Opengl его поддержит. Я поделился своим кодом ниже. Мне нужна программа просмотра с более высокой производительностью вместо Picturebox. Доступны ли примеры этого для Opengl?

У меня есть c ++ dll. Я конвертирую данные 4k 30fps из gstreamer в растровое изображение и распечатываю их на экране.

pt = DLLWrapper.WrapperSingleCameras (0) возвращает кадр 4k30fps из потока как указатель.

pt = DLLWrapper.WrapperSingleCameras(0);
BitmapSingleImage = new Bitmap(rsSplitWidth, rsSplitHeight, rsSplitWidth, System.Drawing.Imaging.PixelFormat.Format8bppIndexed, (IntPtr)pt);
                         
ColorPalette _palette = BitmapSingleImage.Palette;
System.Drawing.Color[] _entries = _palette.Entries;

for (int m = 0; m < 256; m++)
{
    System.Drawing.Color b = new System.Drawing.Color();
    b = System.Drawing.Color.FromArgb((byte)m, (byte)m, (byte)m);
    _entries[m] = b;
}

BitmapSingleImage.Palette = _palette;

videosGUI.videoPictureBox.Image = BitmapSingleImage;
videosGUI.videoPictureBox.Refresh();
...