gpt4 book ai didi

macos - Cocoa下开发截屏程序遇到的问题

转载 作者:行者123 更新时间:2023-12-03 17:59:29 25 4
gpt4 key购买 nike

我正在Mac OS下开发一个简单的屏幕捕获程序,我将主窗口设置为透明,并使用主窗口中包含的NSBox实例来指定要捕获的区域,以下是重要代码和主界面我的程序(抱歉,没有公众形象声誉):

capturedImage = CGDisplayCreateImage( kCGDirectMainDisplay );//capture the whole screen

NSRect boxRect = [mBox borderRect];//mBox is an instance of NSBox, lies in main window

capturedImage = CGImageCreateWithImageInRect(capturedImage, boxRect);//obtain an image specified by mBox

我无法获得我想要的正确图像,我知道坐标可能有问题,但我无法弄清楚,有人可以帮助我吗?另一个,主窗口上有3个按钮,我希望它们在拖动和调整主窗口大小时固定在主窗口的右下角,但我不知道Interface Builder的布局模式,有什么好的解决方案?最好是带有注释的真正有用的代码。非常感谢。

最佳答案

您需要read up about coordinate systems.您的 NSBox 实例是一个 View ,请求其 borderRect 将返回窗口坐标中的矩形。

您需要矩形位于屏幕坐标系中,因为您的整个屏幕图像使用该坐标系。您可以使用此方法来转换矩形:

NSRect screenBoxRect = [[mBox window] convertRectToScreen:[mBox frame]];

关于macos - Cocoa下开发截屏程序遇到的问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8591712/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com