0
我有一个使用Emgu(一个OpenCV的.net包装)编写的视频播放器,我捕获帧并在certan帧上执行一些操作。在功能上,我让用户拍摄流视频的快照,并以不同的形式突出显示快照的各个部分。从流视频获取快照(新手)
但是,由于视频播放器正在播放子窗体上的图像下面,因此用户在窗体上绘制时也会更新。这是不可取的。我很确定这与我的锁定和解锁的东西有关,我是这个东西的新手。
任何想法我错了吗?我本来以为锁(bmpFrame)会阻止任何更新,但它并不:
private void btnTag_Click(object sender, EventArgs e)
{
if (_video != null && _video.CurrentFrame != null)
{
try
{
using (Bitmap bmpFrame = (Bitmap)_video.CurrentFrame.Bitmap)
{
lock (bmpFrame)
{
TagForm f = new TagForm(bmpFrame);
f.Show();
}
}
}
catch { };
}
}
'lock(obj)'只是防止在任何时间点执行多个'lock(obj)'子句。 – Polynomial