我正在开发一个基本的 OSX 屏幕截图软件。基本上,我希望用户有一个半透明的矩形“区域”,他们将其拖到他们想要截屏的区域上。
他们可以根据自己的喜好调整此窗口/视图的大小。然后我要么只截取这个区域,要么(更有可能)计算适当的原点和矩形大小并从全屏截图中裁剪。
我应该使用什么类型的窗口或视图?Hud Window 看起来很有趣,但不能明显调整大小并且有圆角,我想使用方角。如果这很明显,我很抱歉,我来自 iOS 开发。谢谢
我正在开发一个基本的 OSX 屏幕截图软件。基本上,我希望用户有一个半透明的矩形“区域”,他们将其拖到他们想要截屏的区域上。
他们可以根据自己的喜好调整此窗口/视图的大小。然后我要么只截取这个区域,要么(更有可能)计算适当的原点和矩形大小并从全屏截图中裁剪。
我应该使用什么类型的窗口或视图?Hud Window 看起来很有趣,但不能明显调整大小并且有圆角,我想使用方角。如果这很明显,我很抱歉,我来自 iOS 开发。谢谢
对于透明窗口,您可以使用-[NSWindow setAlphaValue:]
或将窗口设置为不透明,-setOpaque:
然后确保使用透明颜色(例如[NSColor clearColor]
,alpha 小于 1 的颜色)绘制窗口的某些部分。
请参阅 Apple 的FunkyOverlayWindow 示例代码。
对于屏幕截图,您可以使用CGDisplayCreateImage()
或CGDisplayCreateImageForRect()
。或者您可以使用CGWindowListCreateImage()
or CGWindowListCreateImageFromArray()
which 让您控制图像中的哪些窗口。