首页 > 解决方案 > 在 c# 中使用 opengl 流位图数据

问题描述

当我使用图片框进行流式传输时,性能会有所下降。我正在寻找一个支持 4k 30fps 的库。我认为 Opengl 会支持它。我在下面分享了我的代码。我需要更高性能的查看器而不是 Picturebox。这方面的例子可用于 Opengl 吗?

我有ac ++ 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();

标签: c#picturebox

解决方案


推荐阅读