在MATLAB中找到在桌面上打开的窗口的角点像素位置

时间:2014-12-21 20:54:45

标签: image matlab screenshot

我想拍摄一个窗口的alt +截图并输入MATLAB。不幸的是,我在网上找到的screencapture代码只允许你输入你想要的像素(x,y,宽度,高度)的桌面屏幕截图。 (好吧,它也允许拖动选择,但这不适用于我想做的事情)。链接如下:

http://www.mathworks.com/matlabcentral/fileexchange/24323-screencapture-get-a-screen-capture-of-a-figure-frame-or-component

我想找到桌面上窗口的坐标,以便我可以使用这个MATALB函数并截取屏幕截图。 1.是否有自动方法找出正在运行的应用程序窗口的角落像素位置? 2.有没有更好的MATLAB功能,只允许我使用alt + printscreen并直接找到截图?

谢谢!

1 个答案:

答案 0 :(得分:0)

pos = get(h,'position');

生成一个四元素向量pos,其中包含带有句柄h的Matlab窗口:

    左下角的
  • x坐标
  • 左下角的
  • y坐标
  • 宽度
  • 高度,

全部以像素为单位。正如@Hoki在评论中指出的那样,这给出了绘图区域,不包括边框。如果您想要包含边框的Matlab窗口的完整范围,您可以使用

fullpos = get(h,'OuterPosition');