首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >在WPF c#中绘制矩形选择并得到相应的图像

在WPF c#中绘制矩形选择并得到相应的图像
EN

Stack Overflow用户
提问于 2015-05-03 17:40:39
回答 1查看 727关注 0票数 0

我需要写一个文本识别(从图像)应用程序。主要思想是,当我的应用程序运行时,我可能需要将图像的一些文本转换为可管理的文本。因此,在这个例子中,我需要用鼠标在我需要捕捉的区域周围画一个正方形,软件必须将提取的图片的内容转换成文本。

我解决了图像识别的问题。我还找到了一种从屏幕上捕捉的非常简单的方法。

我现在需要做的是,能够用鼠标选择一个有趣的区域,它位于另一个正在运行的应用程序上(例如,在网页上或在画图中打开的图像上)。这必须像windows7上的屏幕一样,您可以创建屏幕的选择,这就像图片一样保存。

环顾四周,我什么也没找到,也不知道从哪里开始。

非常感谢

EN

回答 1

Stack Overflow用户

发布于 2015-05-03 18:13:42

您可以使用一种“棘手”的简单方法或真正但困难的方法来实现这一点。

狡猾的方式

屏幕记录器应用程序通常使用以下方法:每当用户想要选择某个区域时,您都会显示一个全屏幕边框无窗口( 0%的不透明度),然后用户尝试选择屏幕区域,而他实际上正在选择您的窗口区域,这样您就可以接收鼠标事件并显示/绘制一个矩形形状来向用户显示选择区域。

在这种方法中,程序需要知道何时显示窗口以及何时隐藏窗口。这可以通过例如定义用于捕获的热键来完成:

  • 程序使用RegisterHotKey向Windows注册热键。
  • 用户按下并持有该热键。
  • 程序显示棘手的窗口
  • 用户选择感兴趣的区域,程序使用狡猾窗口的鼠标事件接收该区域。
  • 用户释放热键,程序隐藏棘手的窗口。

的真实方式

使用这种方式,您需要设置一个讯息钩子,以便在用户与桌面交互时接收鼠标和键盘事件,而不是您的程序。这是一个不容易完成的方法,我推荐你的第一个。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/30017170

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档