[0059]对所述指定视频录制区域的外接矩形内的图像数据进行遍历处理;
[0060]将所述遍历处理后的外接矩形内图像数据与所述指定视频录制区域的边界轨迹进行比较;
[0061]将所述外接矩形内图像数据位于所述指定视频录制区域的边界以外的像素点置为黑色。
[0062]较佳的,所述提取所述指定视频录制区域内的图像数据的步骤103还包括:选择图像数据压缩编码,对图像数据进行压缩处理。
[0063]进一步的,所述获取屏幕内的指定视频录制区域的步骤101同时还包括:获取屏幕图像数据抓取速度(例如每秒15帧);所述抓取整个屏幕的图像数据的步骤102包括:按所述抓取速度抓取整个屏幕的图像数据。
[0064]更进一步的,所述将提取出的所述指定视频录制区域图像数据写入视频文件的步骤104包括:将处理后的每一帧图像按时间顺序保存在视频文件中。
[0065]较佳的,所述视频文件的保存格式为AVI格式,当然还可以通过不同编码,将其压缩为其它格式的视频文件。
[0066]可选的,所述屏幕录制方法还包括:获取音频数据;以及,将所述音频数据写入所述视频文件中。AVI是音频和视频交错格式,在录制视频同时,同步进行音频录制,然后按AVI文件数据格式进行同步保存即可成为带音频的视频文件。
[0067]其中,所述将所述音频数据写入所述视频文件中的步骤还包括:为录音设备准备缓冲区;以及,检测缓冲区是否存满,若否,则继续录音,若是则清空缓冲区并继续录音。
[0068]参照附图2,为本发明提供的屏幕录制方法的另一个实施例的流程示意图。
[0069]所述屏幕录制方法,包括:
[0070]开始录制;
[0071]步骤201:获取屏幕内的指定视频录制区域;
[0072]步骤202:根据所述指定视频录制区域,计算得到该指定视频录制区域的外接矩形轨迹和该指定视频录制区域的边界轨迹;
[0073]步骤203:抓取整个屏幕的图像数据;
[0074]步骤204:根据所述指定视频录制区域的外接矩形轨迹,获取所述外接矩形内的图像数据;
[0075]步骤205:根据所述指定视频录制区域的边界轨迹,获取所述边界轨迹内的图像数据;
[0076]步骤206:对整个屏幕的图像数据进行遍历处理;
[0077]步骤207:将所述遍历处理后的整个屏幕图像数据与所述指定视频录制区域的外接矩形轨迹进行比较;
[0078]步骤208:将整个屏幕图像数据位于所述指定视频录制区域的外接矩形以外的像素点置为黑色;
[0079]步骤209:对所述指定视频录制区域的外接矩形内的图像数据进行遍历处理;
[0080]步骤210:将所述遍历处理后的外接矩形内图像数据与所述指定视频录制区域的边界轨迹进行比较;
[0081]步骤211:将所述外接矩形内图像数据位于所述指定视频录制区域的边界以外的像素点置为黑色;
[0082]步骤212:选择图像数据压缩编码,对图像数据进行压缩处理;并返回步骤203:抓取下一帧整个屏幕的图像数据;
[0083]同时,还包括步骤213:获取音频数据;
[0084]步骤214:为录音设备准备缓冲区;
[0085]步骤215:判断检测缓冲区是否存满;
[0086]若否,则转到步骤213:继续获取音频数据,
[0087]若是,则转到步骤216:清空缓冲区,接着转到步骤213:继续录音;
[0088]步骤217:将提取出的所述指定视频录制区域图像数据和所述获取的音频数据写入视频文件;
[0089]完成录制。
[0090]从上述实施例可以看出,本发明提供的屏幕录制方法,通过对抓取的整个屏幕的图像数据进行处理,实现了仅对屏幕内指定区域内显示的内容进行屏幕录制,使得用户在使用屏幕录制功能时,能够有针对性地对感兴趣的显示内容进行屏幕录制,而不用将整个屏幕录制下来;从而丰富了产品功能,提升了用户体验。
[0091]需要特别指出的是,上述屏幕录制方法实施例中的各个步骤均可以相互交叉、替换、增加、删减,因此,这些合理的排列组合变换之于屏幕录制方法也应当属于本发明的保护范围,并且不应将本发明的保护范围局限在所述实施例之上。
[0092]本发明还提供了一种屏幕录制装置,参照附图3,为本发明提供的屏幕录制装置实施例的结构示意图。
[0093]所述屏幕录制装置300,包括:
[0094]获取模块301,用于获取屏幕内的指定视频录制区域,以及抓取整个屏幕的图像数据;
[0095]图像处理模块302,用于提取所述指定视频录制区域内的图像数据;
[0096]视频合成模块303,用于将提取出的所述指定视频录制区域图像数据写入视频文件。
[0097]可选的,所述指定视频录制区域的边界形状可以是规则形状,例如三角形、正方形、矩形、圆形等;特别地,所述指定视频录制区域的边界形状可以是不规则形状;例如可以是任意绘制的边界形状,或者是多个不同的规则形状组合而成的不规则形状等等。
[0098]进一步的,所述图像处理模块302还用于根据所述指定视频录制区域,计算得到该指定视频录制区域的外接矩形轨迹和该指定视频录制区域的边界轨迹。
[0099]更进一步的,所述图像处理模块302还用于根据所述指定视频录制区域的外接矩形轨迹,获取所述外接矩形内的图像数据。所述图像处理模块302还用于根据所述指定视频录制区域的边界轨迹,获取所述边界轨迹内的图像数据。
[0100]较佳的,所述图像处理模块302还用于对整个屏幕的图像数据进行遍历处理;将所述遍历处理后的整个屏幕图像数据与所述指定视频录制区域的外接矩形轨迹进行比较;以及,将整个屏幕图像数据位于所述指定视频录制区域的外接矩形以外的像素点置为黑色。
[0101]可选的,所述图像处理模块302还用于对所述指定视频录制区域的外接矩形内的图像数据进行遍历处理;将所述遍历处理后的外接矩形内图像数据与所述指定视频录制区域的边界轨迹进行比较;将所述外接矩形内图像数据位于所述指定视频录制区域的边界以外的像素点置为黑色。
[0102]较佳的,所述图像处理模块302还用于选择图像数据压缩编码并对图像数据进行压缩处理。所述获取模块301还用于获取屏幕图像数据抓取速度(例如每秒15帧);以及按所述抓取速度抓取整个屏幕的图像数据。所述视频合成模块303还用于将处理后的每一帧图像按时间顺序保存在视频文件中。
[0103]可选的,所述获取模块301还用于获取音频数据;所述视频合成模块303还用于将所述音频数据写入所述视频文件中。其中,所述获取模块301可选的包括系统默认音频设备,所述视频合成模块303还用于通过系统WaveIn系列API,将采集到数据写入到AVI文件中。
[0104]下面结合上述屏幕录制方法的另一个实施例对所述屏幕录制装置300的工作过程进行详细描述。
[0105]所述屏幕录制方法,包括:
[0106]开始录制;
[0107]步骤201:所述获取模块301获取屏幕内的指定视频录制区域;
[0108]步骤202:所述图像处理模块302根据所述指定视频录制区域,计算得到该指定视频录制区域的外接矩形轨迹和该指定视频录制区域的边界轨迹;
[0109]步骤203:所述获取模块301抓取整个屏幕的图像数据;
[0110]步骤204:所述图像处理模块302根据所述指定视频录制区域的外接矩形轨迹,获取所述外接矩形内的图像数据;
[0111]步骤205:所述图像处理模块302根据所述指定视频录制区域的边界轨迹,获取所述边界轨迹内的图像数据;
[0112]步骤206:所述图像处理模块302对整个屏幕的图像数据进行遍历处理;
[0113]步骤207:所述图像处理模块302将所述遍历处理后的整个屏幕图像数据与所述指定视频录制区域的外接矩形轨迹进行比较;
[0114]步骤208:所述图像处理模块302将整个屏幕图像数据位于所述指定视频录制区域的外接矩形以外的像素点置为黑色;
[0115]步骤209:所述图像处理模块302对所述指定视频录制区