1.一种GIF生成方法,其特征在于,包括以下步骤:
S1:创建并初始化取景器:收到用户创建GIF指令,创建并初始化取景器,所述取景器的取景框支持拖动和缩放;
S2:循环取图:根据用户指令判断是否需要取图,若需要取图,则开启定时器并以预设间隔时间按照步骤S1中用户自定义取景框的位置及大小执行截取屏幕操作并存储至数组B中,直至判断取图结束;
S2包括以下步骤:
S21:获取当前应用的window,由window以预设间隔时间获取当前的屏幕的视图,每次取图时,记录对应的当前时间点Ta,并存储每次取图时对应的当前时间点Ta以形成数组Z1;
同时获取视频当前播放时间点T1以及定时器开启总时长T;
S22:根据当前播放时间点T1、定时器开启总时长T从视频链接中下载定时器开启期间播放的视频V;
S23:根据当前播放时间点T1、数组Z1中所存储的取图时对应的当前时间点数据,确定视频V中对应的各取图时间点Tb,并存储形成视频V中对应的取图时间点Tb形成数组Z2;
S24:根据数组Z2中记录的取图时间,截取视频V对应的视频帧存入数组B1中;
S25:确定取景框在屏幕中的位置和大小;
S26:根据S25确定的取景框位置和大小,对所述数组B1中获得的视频帧进行剪切,以获取取景框中的图片并存储至数组B中,完成本次取图;
S3:添加水印:根据用户指令判断是否需要添加水印,若判断需要添加水印,则对步骤S2所形成数组B中的图片,在指定位置处添加指定水印,并将得到的新的图片存储至新数组中,且图片存储顺序与S2中相同;若判断不需要添加水印,则转入S4;
S4:生成GIF,将步骤S2所形成数组B或步骤S3所形成新数组中的图片取出并生成GIF;
所述步骤S4中,所述生成GIF包括以下步骤:
S41:取出数组B或新数组中的图片;
S42:创建本地存储,本地存储路径映射为URL;
S43:初始化GIF生成器;
S44:将URL中上传的图片导入到GIF生成器中;
S45:添加完后生成GIF。
2.根据权利要求1所述的GIF生成方法,其特征在于,所述取景器设置开始键及结束键,则所述步骤S2中,若开始键被触发则判断需要取图,直到开始键被释放或到定时器计时到达预设最长取图时间,则判断取图结束;若判断结束键被触发,则直接结束;
或,长按取景框时判断需要取图,松开取景框时判断取图结束。
3.根据权利要求1所述的GIF生成方法,其特征在于,所述步骤S3中,所述水印添加包括以下步骤:S31:读取用户指令,判断指定添加的水印内容;
S32:读取用户指令,判断指定添加水印的位置;
S33:将选定的水印内容绘制到S2所形成数组B中各图片的指定位置上,以得到新的图片;
S34:将步骤S33中所得到的新图片存入至新数组中,且图片顺序与S2中相一致。
4.根据权利要求1所述的GIF生成方法,其特征在于,所述水印为用户指定的图片或用户手动输入的文字。
5.根据权利要求1所述的GIF生成方法,其特征在于,所述步骤S4中,所述S43与所述S44之间还包括GIF属性配置的步骤。
6.根据权利要求5所述的GIF生成方法,其特征在于,所述GIF属性为GIF背景色、是否重复播放中的一种或多种组合。
7.一种GIF生成装置,其特征在于,其包括:
取景器创建模块,适于根据用户创建GIF指令,创建并初始化取景器,所述取景器的取景框支持拖动和缩放;
循环取图模块:适于根据用户指令判断是否需要取图,若需要取图,则开启定时器并以预设间隔时间按照取景器创建模块中用户自定义取景框的位置及大小执行截取屏幕操作并存储至数组B中,直至判断取图结束:截图子模块:获取当前应用的window,由window以预设间隔时间获取当前的屏幕的视图,每次取图时,记录对应的当前时间点Ta,并存储每次取图时对应的当前时间点Ta以形成数组Z1;同时获取视频当前播放时间点T1以及定时器开启总时长T;
视频下载子模块:根据当前播放时间点T1、定时器开启总时长T从视频链接中下载定时器开启期间播放的视频V;
时间点转换子模块:根据当前播放时间点T1、数组Z1中所存储的取图时对应的当前时间点数据,确定视频V中对应的各取图时间点Tb,并存储形成视频V中对应的取图时间点Tb形成数组Z2;
图片转换子模块:根据数组Z2中记录的取图时间,截取视频V对应的视频帧存入数组B1中;
取景框位置确定子模块:确定取景框在屏幕中的位置和大小;
图片剪切及存储子模块:根据取景框位置确定子模块确定的取景框位置和大小,对所述数组B1中获得的视频帧进行剪切,以获取取景框中的图片并存储至数组B中,完成本次取图;
水印添加模块,适于根据用户指令判断是否需要添加水印,若判断需要添加水印,则对循环取图模块所形成数组B中的图片,在指定位置处添加指定水印,并将得到的新的图片存储至新数组中,且图片存储顺序与循环取图模块中相同;若判断不需要添加水印,则转入GIF生成模块;
GIF生成模块:适于将循环取图模块所形成数组B或者水印添加模块所形成新数组中的图片取出并生成GIF;其中,GIF生成模块包括:图片取出及存储子模块,用于取出数组B或新数组中的图片,并创建本地存储,本地存储路径映射为URL;
初始化子模块,用于GIF生成器的初始化;
GIF生成子模块,用于将URL中上传的图片导入到GIF生成器中,并在添加完后生成GIF。
8.一种计算机设备,包括存储器、处理器以及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现权利要求1至6任一项所述方法的步骤。
9.一种计算机可读存储介质,其上存储有计算机程序,其特征在于:所述计算机程序被处理器执行时实现权利要求1至6任一项所述方法的步骤。