我想使用CIBumpDistortion
暂时扭曲鼠标下的区域,以增加鼠标指针的可见性。
目前,我有一个透明背景NSWindow
,它在指针下面浮动,显示一个十字线,当你移动鼠标时会消失,而当你停止时会消失。这样做没问题,但是Bump Distortion会使我的应用很棒而不是足够好。
我尝试使用CGDisplayCaptureWithOptions(display, kCGCaptureNoFill)
,但这会降低抓取性能并使鼠标指针断断续续。
这是我正在努力实现的an image。
注意,我想要扭曲的区域不在我自己的NSWindow
内,所以我认为我不能只对CIImage
应用转换并显示它(除非你们其中一个聪明大家告诉我你可以从屏幕的任意区域复制一个位图吗?)
提前致谢!
答案 0 :(得分:4)
注意,我想扭曲的区域不在我自己的NSWindow中,所以我不认为我可以只将转换应用到CIImage并显示(除非你们中的一个聪明的人告诉我你可以复制一个来自屏幕任意区域的位图?)
可以!
获取您的窗口windowNumber
,并使用CGWindowList创建其下所有内容的CGImage屏幕截图。然后,从CGImage创建一个CIImage,通过过滤器运行它,并将输出图像设置为窗口显示的内容。
只有当鼠标移动或屏幕在光标周围区域重绘时才能执行此操作(您可以为后者注册屏幕刷新回调),您可以非常有效地完成此操作。