Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/wpf/12.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 从生成的位图图像创建视频_C#_Wpf_Video_Bitmap - Fatal编程技术网

C# 从生成的位图图像创建视频

C# 从生成的位图图像创建视频,c#,wpf,video,bitmap,C#,Wpf,Video,Bitmap,我正在尝试使用openCVSharp播放位图图像流,以从YUV生成位图。但我无法将其显示为视频 我找到了一些关于将其用作AVI包装器的链接,以及一些可以保存在硬盘上的链接,比如FFMPEG和FFMPEG在LINUX上可能很好,但在Windows上就不太好了 我甚至尝试使用以下代码。但它只显示序列中的最后一帧,我没有使用MediaElement的URI,因为位图是由我的程序生成的 image.source = ToBitmapSource(bitmapImage); 在哪里 我正在尝试播放类似于

我正在尝试使用openCVSharp播放位图图像流,以从YUV生成位图。但我无法将其显示为视频

我找到了一些关于将其用作AVI包装器的链接,以及一些可以保存在硬盘上的链接,比如FFMPEG和FFMPEG在LINUX上可能很好,但在Windows上就不太好了

我甚至尝试使用以下代码。但它只显示序列中的最后一帧,我没有使用MediaElement的URI,因为位图是由我的程序生成的

image.source = ToBitmapSource(bitmapImage);
在哪里

我正在尝试播放类似于流媒体的视频,而不将其保存在计算机上。直接放映是必须的吗?我非常需要你的帮助,我的最后期限快到了

您可以在Winform中使用与计时器等效的:

DispatcherTimer dt = new DispatcherTimer();
dt.Interval = 25;  //25 ms --> 50 frames per second
dt.Tick += delegate(object sender, EventArgs e){

             //get the image and display it

          }

dt.Start(); //to start record
您可以在Winform中使用与计时器等效的:

DispatcherTimer dt = new DispatcherTimer();
dt.Interval = 25;  //25 ms --> 50 frames per second
dt.Tick += delegate(object sender, EventArgs e){

             //get the image and display it

          }

dt.Start(); //to start record

为什么,你不能简单地用XNA或SlimDX在屏幕上显示它们吗?我从来没有和它们中的任何一个一起工作过,你有关于它们的链接吗?我发现SlimDX和XNA是用于游戏的高端图形工具,我不需要这么高的处理,只是希望能够将位图显示为视频,这就是全部。生成这些帧的速率是多少?那么,如果您的UI已经可以渲染它,那么您想做什么?为什么要将其转换为视频?它已经被显示了,对吗?为什么,你不能简单地用XNA或SlimDX在屏幕上显示它们吗?我从来没有与它们中的任何一个合作过,你有任何关于它们的链接吗?我发现SlimDX和XNA是用于游戏的高端图形工具,我不需要如此高的处理,只是希望能够将位图显示为视频,这就是全部。生成这些帧的速率是多少?那么,如果您的UI已经可以渲染它,那么您想做什么?为什么要将其转换为视频?它已经被显示了,对吗?我没有太多使用委托,因此,这里是我为dt得到的错误。Tick=delegateobject sender,EventArgs e-Tick只能应用于+=或-=的左侧。我不明白它的意思,我根据它做了一些修改并使用了它。。但是没有区别,仍然没有视频dt。间隔=新的时间间隔0,0,0,40//25毫秒->每秒50帧dt.Tick+=sender,e=>UpdateFramesender,e,BitImage;private void UpdateFrameobject sender,EventArgs e,Bitmap BitImage{Image.Source=ConvertYUV.ToBitmapSourceBitImage;}我没有太多地使用委托,因此,下面是我为dt.Tick=delegateobject sender得到的错误。EventArgs e-Tick只能应用于+=或-=的左侧。我不明白它的意思,我根据它做了一些修改并使用了它。。但是没有区别,仍然没有视频dt。间隔=新的时间间隔0,0,0,40//25毫秒->每秒50帧dt.Tick+=sender,e=>UpdateFramesender,e,BitImage;私有void UpdateFrameobject发送方,事件参数e,位图位图位图{Image.Source=ConvertYUV.tobitmap源位图;}