这是目前obs源码学习使用中最简单的一篇,如果大家看过前两篇,我相信这一篇大家一定很快就能实现这个功能。
附:obs源码学习使用前两篇:
一.照虎画猫拷代码
我们直接看obs的代码目录,发现window-basic-main-screenshot.cpp这个文件很像是我们想要实现的功能所在的文件,我们马不停蹄直接打开。
一打开我们就看include中除了包含和obs的界面ui外,还包含了screenshot-obj.hpp。
我们照虎画猫,直接把screenshot-obj.hpp加入自己的工程并include。
include之后,我们就可以直接使用ScreenshotObj这个类了,我们随后将window-basic-main-screenshot.cpp中所有涉及到的方法函数全部拷贝到过来。
至此,此功能的大部分已经全部完成,接下来就是要根据自身情况,将代码略加修改即可。
二.照猫画虎用代码
1.使用ScreenshotObj相关代码
我们先定义一个 QPointer监视指针,让他被销毁后自指NULL。
QPointer<QObject> screenshotData;
接下来只需要实例化,即可完成截图功能
screenshotData = new ScreenshotObj(source);
还是OBS图像相关的核心理念一样,给他什么source,他就截什么source的图。
至此,全部截图功能完成,可以说是非常简单了。