您的位置:首页 > 其它

wpf下,在aforge界面 画静态框的实现

2016-09-27 10:45 162 查看
利用afoge控件可以来实现usb摄像头播放。在winform下,利用newframe事件,可以实现每一帧的图像处理。

但是如何在wpf下,利用afoge,则有些麻烦。

播放功能是利用

xmlns:wfi ="clr-namespace:System.Windows.Forms.Integration;assembly=WindowsFormsIntegration"  

我现在需要在图像上画一个静态框,最初我也是想通过newframe,给每帧图像都换上框,但是在wpf下newframe无法加入。失败

另一种是 利用Panel.ZIndex,在aforge上面弄一个透明的image,发现wfi这个默认最上层。失败

最后只能用最笨的办法画框。代码如下

 xmlns:wf ="clr-namespace:System.Windows.Forms;assembly=System.Windows.Forms"
<Grid>
<Grid.RowDefinitions>
<RowDefinition Height="*"/>
<RowDefinition Height="5"/>
<RowDefinition Height="9*"/>
<RowDefinition Height="5"/>
<RowDefinition Height="*"/>
</Grid.RowDefinitions>
<Grid.ColumnDefinitions>
<ColumnDefinition Width="*"/>
<ColumnDefinition Width="5"/>
<ColumnDefinition Width="9*"/>
<ColumnDefinition Width="5"/>
<ColumnDefinition Width="*"/>
</Grid.ColumnDefinitions>
<wfi:WindowsFormsHost Panel.ZIndex="1" Grid.ColumnSpan="5" Grid.RowSpan="3" Margin="-68,0,68,-69" Grid.Row="2">
<aforge:VideoSourcePlayer    x:Name="videoSourcePlayer1" Width="300" Height="360">
</aforge:VideoSourcePlayer>
</wfi:WindowsFormsHost>
<wfi:WindowsFormsHost Panel.ZIndex="2" Grid.Column="1" Grid.Row="1" Grid.RowSpan="3">
<wf:Label BackColor="Green"/>
</wfi:WindowsFormsHost>
<wfi:WindowsFormsHost Panel.ZIndex="2" Grid.Column="3" Grid.Row="1" Grid.RowSpan="3">
<wf:Label BackColor="Green"/>
</wfi:WindowsFormsHost>
<wfi:WindowsFormsHost Panel.ZIndex="2" Grid.Row="1" Grid.Column="1" Grid.ColumnSpan="3">
<wf:Label BackColor="Green"/>
</wfi:WindowsFormsHost>
<wfi:WindowsFormsHost Panel.ZIndex="2" Grid.Row="3" Grid.Column="1" Grid.ColumnSpan="3">
<wf:Label BackColor="Green"/>
</wfi:WindowsFormsHost>
</Grid>
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  wpf aforge 画框