问题:做了一个wpf的用户控件,在这个用户控件中有一个image控件,希望能够在image控件上显示视频,当然我可以通过获取视频数据,通过WriteableBitmap,然后再利用this.colorBitmap.WritePixels()实时更新位图像素来实现,但是不希望这么做,目前就想通过控件的句柄来显示视频信息。我知道wpf中的控件是没有句柄的,有人提议用如下的方法获取句柄,我试了,这样获得的句柄是指向窗体的,结果显示的视频覆盖了整个窗体,而不是在image1控件中显示。 |
|
5分 |
是不是需要给引用的视频加个大小限制呢?
|
这个跟视频的大小是没有关系的,在winform中将picturebox控件的句柄赋值过去就在picturebox中显示。
|
|
5分 |
我现在也在做视频哈哈镜效果,但没有思路
|
5分 |
wpf下的控件木有句柄。你获取的是wpf窗体的句柄。
可以试试在wpf里放一个windowsformhost控件,再在里面嵌一个winform下的picturebox控件。 |
5分 |
这样获得的句柄是指向窗体的,结果显示的视频覆盖了整个窗体,而不是在image1控件中显示。
楼主你好,我正好需要在整个窗体上显示视频,用你说的IntPtr hwnd = ((HwndSource)PresentationSource.FromVisual(this.image1)).Handle;为什么不成功呢,可否指点一下? |
20分 |
IntPtr hwnd = ((HwndSource)PresentationSource.FromVisual(img1)).Handle;这句的确是把视频给整到整个窗口里去了,而不是在控件里。
|
怎么获得WPF中嵌套了winform下的picturebox控件的句柄 |