【wpf】使用avicap32.dll对图片进行部分裁剪

Dear200892 2019-12-09 04:15:55
如题
图片能够通过抓图并且保存本地。
现在我希望点击一个按钮能够对图片进行局部裁剪


裁剪框和取裁剪的代码都已经准备好了
现在不知道怎样在界面上画矩形
加载了dll后没办法在控件上执行鼠标事件了

<WindowsFormsHost x:Name="host">
<wf:PictureBox x:Name="_photo" Dock="Fill" MouseMove="_photo_MouseMove" BackColor="Blue"/>
</WindowsFormsHost>
...全文
123 3 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
3 条回复
切换为时间正序
请发表友善的回复…
发表回复
Dear200892 2020-04-23
  • 打赏
  • 举报
回复
解决方案:这样就能关闭视频窗口,开始准备裁剪

            /// <summary>
            ///删除一个窗口对象
            /// </summary>
            /// <param name="hWnd">要删除的窗口句柄</param>
            /// <returns></returns>
            [DllImport("user32", CharSet = CharSet.Ansi, SetLastError = true, ExactSpelling = true)]
            public static extern bool DestroyWindow(int hWnd);
Dear200892 2019-12-09
  • 打赏
  • 举报
回复
引用 1 楼 exception92 的回复:
winform的呈现级别会高于wpf,不管你是否嵌入到border或者其它wpf容器中。这个不太容易解决,只遇到过需要呈现的。
是因为使用了dll的方法
hWndC = capCreateCaptureWindowA(lpszName, WS_CHILD | WS_VISIBLE, mLeft, mTop, mWidth, mHeight, mControlPtr, 0);
这句话注释了就能执行裁剪代码 这句话是创建一个视频窗口 我不知道怎么关闭
  • 打赏
  • 举报
回复
winform的呈现级别会高于wpf,不管你是否嵌入到border或者其它wpf容器中。这个不太容易解决,只遇到过需要呈现的。

111,096

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • AIGC Browser
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

试试用AI创作助手写篇文章吧