我只是计划实现一些功能,如当鼠标悬停在Mac OS X平台屏幕上的某些文本/字上时,“查找字典”。是否有可能知道在鼠标附近显示哪些文本?
如何在屏幕上显示鼠标附近的文本/文字,即使它们不在我自己的应用程序中。
什么我可以做的是:
- 使用工作台知道应用程序正在运行什么。
- 使用可访问性API来了解屏幕上的顶级UIElement。
- 如果应用程序使用类似于NSTextView(我通过检查UIElement的“selected text”属性来获取它),使用可访问性API来了解UIElement的选定字符串。
什么我不能做的是:
- 如Safari一些应用程序,使用WebKit的框架,唯一的事情,我可以从辅助功能API得到的是“价值属性”,这是当前内容HTML和一些名为“AXTextMarker”的属性。这些属性不能在Google或任何文档中找到。
- 有些应用程序甚至不支持Accessibility API,我能得到的仅仅是它的屏幕截图。
有什么方法可以调用系统API来识别图像中的文本吗?在雪豹中,有中文或日文输入的手写识别器功能,所以应该是一些OCR功能?我找不到任何开放的API。
手写识别通常通过手势(端点和暂停/角落)进行,而不是OCR。对典型人物的手写进行OCR不会比从/ dev/random中捕获更好。 ☺ – 2010-09-15 06:44:47
好的,原谅我的愚蠢,因为我真的不知道该去哪里。 – icespace 2010-09-15 07:26:31
然后另一个问题,我可以发送一些事件,甚至可以调用Quartz来重新渲染屏幕上某些区域的文本?也许我可以从中得到某些东西。 – icespace 2010-09-15 07:27:45