GIF生成方法、装置、计算机设备及存储介质制造方法及图纸

技术编号:21309564 阅读:27 留言:0更新日期:2019-06-12 11:10
本发明专利技术提供一种GIF生成方法、装置、计算机设备及存储介质,在截取图片时,记录每次取图时对应的当前时间点Ta,将当前时间点Ta转换为视频V中对应的取图时间点Tb,其中视频V为从视频链接中下载定时器开启期间播放的视频,然后根据各取图时间点Tb,截取视频V对应的视频帧存入数组B1中,最后依据取景框在屏幕中的位置和大小对数组B1中获得的视频帧进行剪切,以获取取景框中的图片并存储至数组B中;图片截取完成后根据需要选择添加水印,最后生成GIF,可避免出现截屏图片中视频部分为黑色,视频无法正常显示的问题,从而满足用户根据需要截取相应内容作为GIF图像文件的需求。

GIF Generation Method, Device, Computer Equipment and Storage Media

The invention provides a GIF generation method, device, computer equipment and storage medium. When intercepting pictures, the current time point Ta corresponding to each time of taking pictures is recorded, and the current time point Ta is converted into the corresponding time point Tb of taking pictures in video V, where the video V is to download the video played during the opening of the timer from the video link, and then intercept the video V according to the time point Tb of taking pictures. The corresponding video frames are stored in the array B1, and finally the video frames obtained in the array B1 are cut according to the position and size of the viewfinder in the screen to get the picture in the viewfinder box and stored in the array B. After the image interception is completed, the watermarking is selected according to the need, and finally the GIF is generated, which can avoid the problem that the video part in the screenshot picture is black and the video can not be displayed normally. In order to meet the needs of users to intercept the corresponding content as GIF image files.

【技术实现步骤摘要】
GIF生成方法、装置、计算机设备及存储介质
本专利技术涉及数据处理领域,特别涉及一种GIF生成方法、装置、计算机设备及存储介质。
技术介绍
图像互换格式(英文:GraphicsInterchangeFormat,简称:GIF)是一种图像文件格式。通常,一个GIF文件可包括文件头(英文:FileHeader)、GIF数据流(英文:GIFDataStream)和文件终结器(英文:Trailer),其中,文件头可包含GIF文件署名(英文:Signature)和版本号(英文:Version);GIF数据流可包括控制块(英文:ControlBlock)和数据块(英文:DataBlocks),控制块用于控制数据块的播放行为,数据块可以存储多幅图像文件,若文件终结器用于表示文件结束。用户在使用APP的过程中,可能会对App中某一段视频内容很感兴趣,希望分享或保存,或者希望制作成表情包,视频GIF录制可截取当前播放的视频视图,直接将视频视图转换成多幅图像文件,并将所述多幅图像文件逐幅读取并播放,形成动画效果,可一定程度上满足用户的需求,但是进行GIF文件录制时由于手机系统不同,当采用现有的方案进行截屏并生成GIF时,部分手机系统由于权限设置,若在进行视频GIF录制,则截屏图片中视频所在位置为黑色,无法正常显示,更不能根据用户实际应用需求,选择自己想要的图像文件,并进行编辑处理。
技术实现思路
本专利技术的目的是提供一种GIF生成方法、装置、计算机设备及存储介质,用于解决现有技术存在的问题。为实现上述目的,本专利技术提供一种GIF生成方法,包括以下步骤:S1:创建并初始化取景器:收到用户创建GIF指令,创建并初始化取景器,所述取景器的取景框支持拖动和缩放;S1:创建并初始化取景器:收到用户创建GIF指令,创建并初始化取景器,所述取景器的取景框支持拖动和缩放;S2:循环取图:根据用户指令判断是否需要取图,若需要取图,则开启定时器并以预设间隔时间按照步骤S1中用户自定义取景框的位置及大小执行截取屏幕操作并存储至数组中,直至判断取图结束: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所形成数组中的图片,在指定位置处添加指定水印,并将得到的新的图片存储至数组中,且图片存储顺序与S2中相同;若判断不需要添加水印,则转入S4;S4:生成GIF,将S3所形成数组中的图片取出并生成GIF。作为一优选方案,所述取景器设置开始接及结束键,则所述步骤S2中,若开始键被触发则判断需要取图,直到开始键被释放或到定时器计时到达预设最长取图时间,则判断取图结束;若判决结束键被触发,则直接结束;或,长按取景框时判断判断需要取图,松开取景框时判断取图结束。作为一优选方案,所述步骤2中,依据视频播放器与取景框的在应用中的相对位置,判断所述取景框中是否包括视频,若视频播放器坐标与取景框坐标与完全不重合,判断所述取景框中无视频;若所述视频播放器坐标涵盖所述取景框坐标或与所述取景框坐标重合,则判断为纯视频;若部分重合或所述取景框坐标涵盖所述视频播放器坐标,则判断所述取景框中包含部分视频。作为一优选方案,所述步骤S3中,所述水印添加包括以下步骤:S31:读取用户指令,判断指定添加的水印内容;S32:读取用户指令,判断指定添加水印的位置;S33:将选定的水印内容绘制到S2所形成数组中各图片的指定位置上,以得到新的图片;S34:将步骤S33中所得到的新图片存入至新数组中,且图片顺序与S2中相一致。作为一优选方案,所述步骤S4中,所述GIF生成包括以下步骤:S41:取出S3中最终形成的数组中的图片;S42:创建本地存储,本地存储路径映射为URL;S43:在URL上初始化GIF生成器;S44:循环将数组里的图片添加到GIF生成器里;S45:添加完后生成GIF。作为一优选方案,所述步骤S4中,所述S43与所述S44之间还包括GIF属性配置的步骤。进一步的,所述GIF属性为GIF背景色、是否重复播放中的一种或多种组合。为实现上述目的,本专利技术还提供一种GIF生成装置,其包括:取景器创建模块,适于根据用户指令创建并初始化取景器;循环取图模块:适于根据用户自定义取景器设置以及定时器设置,定时器循环取图;水印添加模块,适于根据用户指令对循环取图模块存储图片,在指定位置处添加指定的水印;GIF生成模块:适于所生成的数组取出,生成gif。优选的,循环取图模块包括截图子模块、视频下载子模块、时间点转换子模块、图片转换子模块、取景框位置确定子模块以及图片剪切及存储单元子模块。截图子模块用于获取当前应用的window,由window获取当前的屏幕的视图,截取视图,同时用于记录每次取图时对应的当前时间点Ta,并存储每次取图时对应的当前时间点Ta形成数组Z1;同时获取视频当前播放时间点T1以及定时器开启总时长T;视频下载子模块用于根据当前播放时间点T1、定时器开启总时长T从视频链接中下载定时器开启期间播放的视频V;时间点转换子模块用于根据当前播放时间点T1、数组Z1中所存储的取图时对应的当前时间点数据,确定视频V中对应的各取图时间点Tb,并存储形成视频V中对应的取图时间点Tb形成数组Z2;图片转换子模块用于根据数组Z2中记录的取图时间,截取视频V对应的视频帧存入数组B1中;取景框位置确定子模块用于计算取景框在屏幕中的位置和大小;图片剪切及存储单元子模块用于根据取景框位置确定子模块确定的取景框位置和大小,剪切图片转换子模块中的视频帧得到取景框中的图片并存储至数组B中。优选的,水印添加模块包括水印确定子模块,水印位置确定子模块、水印绘制子模块以及图片存储子模块;上述水印确定子模块用于确定待添加水印内容,水印位置用于确定待添加水印内容在图片中的具体位置;水印绘制子模块确定子模块用于将水印内容绘制水印位置确定子模块确定的各图片的指定位置上;图片存储子模块用于所得到的新图片存入至新数组中。优选的,GIF生成模块包括:图片取出及存储子模块、GIF属性配置子模块以及GIF生成子模块:图片取出及存储子模块取出水印添加模块中最终形成的数组中的图片,并创建本地存储,本地存储路径映射为URL,以及GIF生成装置的初始化;GIF属性配置子模块用于配置GIF属性;GIF生成子模块用于循环将数组里的图片添加到GIF生成器里,并在添加完后生成GIF。为实现上述目的,本本文档来自技高网...

【技术保护点】
1.一种GIF生成方法,其特征在于,包括以下步骤:S1:创建并初始化取景器:收到用户创建GIF指令,创建并初始化取景器,所述取景器的取景框支持拖动和缩放;S2:循环取图:根据用户指令判断是否需要取图,若需要取图,则开启定时器并以预设间隔时间按照步骤S1中用户自定义取景框的位置及大小执行截取屏幕操作并存储至数组中,直至判断取图结束: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所形成数组中的图片,在指定位置处添加指定水印,并将得到的新的图片存储至数组中,且图片存储顺序与S2中相同;若判断不需要添加水印,则转入S4;S4:生成GIF,将S3所形成数组中的图片取出并生成GIF。...

【技术特征摘要】
1.一种GIF生成方法,其特征在于,包括以下步骤:S1:创建并初始化取景器:收到用户创建GIF指令,创建并初始化取景器,所述取景器的取景框支持拖动和缩放;S2:循环取图:根据用户指令判断是否需要取图,若需要取图,则开启定时器并以预设间隔时间按照步骤S1中用户自定义取景框的位置及大小执行截取屏幕操作并存储至数组中,直至判断取图结束: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所形成数组中的图片,在指定位置处添加指定水印,并将得到的新的图片存储至数组中,且图片存储顺序与S2中相同;若判断不需要添加水印,则转入S4;S4:生成GIF,将S3所形成数组中的图片取出并生成GIF。2.根据权利要求1所述的GIF生成方法,其特征在于,所述取景器设置开始接及结束键,则所述步骤S2中,若开始键被触发则判断需要取图,直到开始键被释放或到定时器计时到达预设最长取图时间,则判断取图结束;若判决结束键被触发,则直接结束;或,长按取景框时判断判断需要取图,松开取景框时判断取图结束。3.根据权利要求1所述的GIF生成方法,其特征在于,所述步骤S3中,所述水印添加包括以下步骤:S31:读取用户指令,判断指定添加的水印内容;S32:读取用户指令,判断指定添加水印的位置;S33:将选定的水印内容绘制到S2所形成数组中各图片的指定位置上,以得到新的图片;S34:将步骤S33中所得到的新图片存入至新数组中,且图片顺序与S2中相一致。4.根据权利要求1所述的GIF生成方法,其特征在于,所述水印为用户指定的图片或用户手动输入的文字。5.根据权利要求1所述的GIF生成方法,其特征在于,所述步骤S4中,所述GIF生成包括以下步骤:S...

【专利技术属性】
技术研发人员:镐振鹏
申请(专利权)人:平安科技深圳有限公司
类型:发明
国别省市:广东,44

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1