CN109862295B - Gif生成方法、装置、计算机设备及存储介质 - Google Patents
Gif生成方法、装置、计算机设备及存储介质 Download PDFInfo
- Publication number
- CN109862295B CN109862295B CN201910049510.0A CN201910049510A CN109862295B CN 109862295 B CN109862295 B CN 109862295B CN 201910049510 A CN201910049510 A CN 201910049510A CN 109862295 B CN109862295 B CN 109862295B
- Authority
- CN
- China
- Prior art keywords
- gif
- array
- video
- picture
- time point
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
Images
Landscapes
- Television Signal Processing For Recording (AREA)
Abstract
本发明提供一种GIF生成方法、装置、计算机设备及存储介质,在截取图片时,记录每次取图时对应的当前时间点Ta,将当前时间点Ta转换为视频V中对应的取图时间点Tb,其中视频V为从视频链接中下载定时器开启期间播放的视频,然后根据各取图时间点Tb,截取视频V对应的视频帧存入数组B1中,最后依据取景框在屏幕中的位置和大小对数组B1中获得的视频帧进行剪切,以获取取景框中的图片并存储至数组B中;图片截取完成后根据需要选择添加水印,最后生成GIF,可避免出现截屏图片中视频部分为黑色,视频无法正常显示的问题,从而满足用户根据需要截取相应内容作为GIF图像文件的需求。
Description
技术领域
本发明涉及数据处理领域,特别涉及一种GIF生成方法、装置、计算机设备及存储介质。
背景技术
图像互换格式(英文:Graphics Interchange Format,简称:GIF)是一种图像文件格式。通常,一个GIF文件可包括文件头(英文:File Header)、GIF数据流(英文:GIF DataStream)和文件终结器(英文:Trailer),其中,文件头可包含GIF文件署名(英文:Signature)和版本号(英文:Version);GIF数据流可包括控制块(英文:Control Block)和数据块(英文:Data Blocks),控制块用于控制数据块的播放行为,数据块可以存储多幅图像文件,若文件终结器用于表示文件结束。
用户在使用APP的过程中,可能会对App中某一段视频内容很感兴趣,希望分享或保存,或者希望制作成表情包,视频GIF录制可截取当前播放的视频视图,直接将视频视图转换成多幅图像文件,并将所述多幅图像文件逐幅读取并播放,形成动画效果,可一定程度上满足用户的需求,但是进行GIF文件录制时由于手机系统不同,当采用现有的方案进行截屏并生成GIF时,部分手机系统由于权限设置,若在进行视频GIF录制,则截屏图片中视频所在位置为黑色,无法正常显示,更不能根据用户实际应用需求,选择自己想要的图像文件,并进行编辑处理。
发明内容
本发明的目的是提供一种GIF生成方法、装置、计算机设备及存储介质,用于解决现有技术存在的问题。
为实现上述目的,本发明提供一种GIF生成方法,包括以下步骤:
S1:创建并初始化取景器:收到用户创建GIF指令,创建并初始化取景器,所述取景器的取景框支持拖动和缩放;
S1:创建并初始化取景器:收到用户创建GIF指令,创建并初始化取景器,所述取景器的取景框支持拖动和缩放;
S2:循环取图:根据用户指令判断是否需要取图,若需要取图,则开启定时器并以预设间隔时间按照步骤S1中用户自定义取景框的位置及大小执行截取屏幕操作并存储至数组B中,直至判断取图结束:
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,将步骤S2所形成数组B或步骤S3所形成新数组中的图片取出并生成GIF。
作为一优选方案,所述取景器设置开始键及结束键,则所述步骤S2中,若开始键被触发则判断需要取图,直到开始键被释放或到定时器计时到达预设最长取图时间,则判断取图结束;若判决结束键被触发,则直接结束;
或,长按取景框时判断需要取图,松开取景框时判断取图结束。
作为一优选方案,所述步骤2中,依据视频播放器与取景框的在应用中的相对位置,判断所述取景框中是否包括视频,若视频播放器坐标与取景框坐标与完全不重合,判断所述取景框中无视频;若所述视频播放器坐标涵盖所述取景框坐标或与所述取景框坐标重合,则判断为纯视频;若部分重合或所述取景框坐标涵盖所述视频播放器坐标,则判断所述取景框中包含部分视频。
作为一优选方案,所述步骤S3中,所述水印添加包括以下步骤:
S31:读取用户指令,判断指定添加的水印内容;
S32:读取用户指令,判断指定添加水印的位置;
S33:将选定的水印内容绘制到S2所形成数组中各图片的指定位置上,以得到新的图片;
S34:将步骤S33中所得到的新图片存入至新数组中,且图片顺序与S2中相一致。
作为一优选方案,所述步骤S4中,所述GIF生成包括以下步骤:
S41:取出数组B或新数组中的图片;
S42:创建本地存储,本地存储路径映射为URL;
S43:初始化GIF生成器;
S44:将URL中上传的图片导入到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生成子模块:图片取出及存储子模块用于取出循环取图模块所形成的数组B或水印添加模块所形成新数组中的图片,并创建本地存储,本地存储路径映射为URL,初始化子模块用于GIF生成器的初始化; GIF属性配置子模块用于配置GIF属性;GIF生成子模块用于将URL中上传的图片导入到GIF生成器中,并在添加完后生成GIF。
为实现上述目的,本发明还提供一种计算机设备,包括存储器、处理器以及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现上述方法的步骤。
为实现上述目的,本发明还提供计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现上述方法的步骤。
本发明提供的GIF生成方法、装置、计算机设备及存储介质,根据用户指令,通过取景框,定时循环截取屏幕中用户所需要的图像,形成待处理GIF图像文件,其中,在进行屏幕截取时,记录每次取图时对应的当前时间点Ta,将当前时间点Ta转换为视频V中对应的取图时间点Tb,其中视频V为从视频链接中下载定时器开启期间播放的视频,然后根据各取图时间点Tb,截取视频V对应的视频帧存入数组B1中,最后依据取景框在屏幕中的位置和大小对数组B1 中获得的视频帧进行剪切,以获取取景框中的图片并存储至数组B中,完成本次取图并生成gif文件,以解决GIF录制时,视频无法正常显示的问题。
同时其对待处理GIF图像文件、待添加水印(如字幕、图片等)的组合处理,获得既携带待处理GIF图像文件内容、又携带添加水印(如字幕、图片等) 处理后的GIF图像文件,此外,在生成GIF的过程中,还可根据用户需要,对GIF属性进行配置(如GIF背景色、是否重复播放),以形成GIF文件,如此设置,可根据用户实际应用需求,方便快捷的实现对图像文件进行编辑处理。
附图说明
图1为本发明GIF生成方法实施例一的流程图;
图2为图1所示实施例中,步骤S2的工作流程示意图;
图3为本发明GIF生成装置实施例一的程序模块示意图;
图4为本发明GIF生成装置实施例一的硬件结构示意图。
具体实施方式
为了使本发明的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅用以解释本发明,并不用于限定本发明。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
本发明提供的GIF生成方法、装置、计算机设备及存储介质,适用于图像处理领域,根据用户指令,通过取景框,定时循环截取屏幕中用户所需要的图像,形成待处理GIF图像文件,以避免出现截屏图片中视频为黑色的现象,从而满足用户根据需要截取相应内容作为GIF图像文件的需求。此外,截取屏幕中指定位置与指定大小的图片生成GIF,而非对整个屏幕进行录制,且在生成 GIF的过程中,还可对选定的图片进行编辑操作,增强了用户操作的自由性与方便度。
实施例一
请参阅图1,本实施例的一种GIF生成方法中,包括以下步骤:
S1:创建并初始化取景器:收到用户创建GIF指令,创建并初始化取景器,所述取景器的取景框支持拖动和缩放;
本步骤中,当收到用户创建GIF指令,取景器视图在屏幕上透明或半透明显示(方便用户可以看到取景框下面的应用视图),取景器的取景框边缘有颜色以提示取景框位置和大小(取景框外观可自定义如颜色),取景框上添加手势,可以拖动和改变大小,取景器出现后,用户根据需要,通过及改变取景框的大小,以将自己需要的画面放在取景框中;
此外,为方便用户发送取图指令,步骤S1中,取景器还设置开始键及结束键,则步骤S2中,若开始键被触发则判断需要取图,直到开始键被释放或到定时器计时到达预设最长取图时间,则判断取图结束;若判决结束键被触发,则直接结束;或长按取景框时判断需要取图,松开取景框则判断取图结束,当然,取图指令的发出可以通过但不限于上述方式产生。
S2:循环取图:根据用户指令判断是否需要取图,若需要取图,则开启定时器并以预设间隔时间按照步骤S1中用户自定义取景框的位置及大小执行截取屏幕操作并存储至数组B中,直至判断取图结束,如图2所示,其包括:
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中,完成本次取图;
现有的部分手机系统,如ios手机系统,直接截取带有视频的屏幕并生成GIF时,由于系统权限原因,则该视频在截图图片中直接为黑色,无法显示,为解决上述问题,故步骤S2中,当确需要进行取图时,开启定时器循环取图,以预设间隔时间按照步骤S1中用户自定义取景框的位置及大小执行截取屏幕操作并存储至数组B中,直至判断取图结束,具体操作过程如下,通过对合法获取的视频V 按照转换后的取图时间点,截取相应视频帧,然后在进行剪切处理,即可获得所需的图片,然后根据需要生成GIF文件,可有效解决视频文件无法显示的问题,且不会侵犯视频版权。
取景框位置设置后,用户可以点击开始键或长按取景框开始取图,本步骤中,当判断用户需要取图时,以预设间隔时间(如默认0.1秒)开始取图,当用户松开开始键或者取景框时,判断取图结束,在此过程中,为防止应用占用内存过大,导致应用无法正常使用的发生,定时器开启最大时长设置(如:10s),如果用户取图时间超过这个默认值,则自动结束取图。
作为一优选方案,步骤S25、S26中,通过计算取景框在应用的位置,获取取景框的坐标,从而获取到取景框汇总的图片在应用图片中的所在位置,然后通过调用系统自带API进行剪切应用图片即可。
S3:添加水印:根据用户指令判断是否需要添加水印,若判断需要添加水印,则对步骤S2所形成数组B中的图片,在指定位置处添加指定水印,并将得到的新的图片存储至新数组中,且图片存储顺序与S2中相同;若判断不需要添加水印,则转入S4;
本步骤中,可根据用户需要对S2数组里的每个图进行编辑,每张图都在同样的位置添加同样的水印,水印可以是自定义的任何形状,任何内容的图片,或用户手动输入的文字,将这些处理过的图存储到新的数组里。
水印添加具体包括以下步骤:
S31:读取用户指令,判断指定添加的水印内容;
S32:读取用户指令,判断指定添加水印的位置;
S33:将选定的水印内容绘制到S2所形成数组中各图片的指定位置上,以得到新的图片;
S34:将步骤S33中所得到的新图片存入至新数组中,且图片顺序与S2中相一致。
S4:生成GIF,将S3所形成数组中的图片取出并生成GIF。
所述GIF生成包括以下步骤:
S41:取出S3中最终形成的数组中的图片;其中,S3中最终形成的数组包括步骤S2所形成的数组B或步骤S3所形成的新数组;
S42:创建本地存储,本地存储路径映射为URL;
S43:在URL上初始化GIF生成器;
S44:配置GIF属性;
S45:循环将数组里的图片添加到GIF生成器里;
S46:添加完后生成GIF。
本步骤中,S44为可选步骤,在生成gif过程中可以对该gif图的属性进行设置,如颜色,是否可以重复播放等。
本发明所示的GIF生成方法,在生成GIF时,对截屏图片的视频画面,进行处理,以避免出现截屏图片中视频部分为黑色的现象,从而满足用户根据需要截取相应内容作为GIF图像文件的需求,此外,截取屏幕中指定位置与指定大小的图片生成GIF,而非对整个屏幕进行录制,且在生成GIF的过程中,还可对选定的图片进行编辑操作,增强了用户操作的自由性与方便度。
实施例二
请继续参阅图3,本发明示出了一种GIF生成装置,以实施例一为基础,用以实现实施例一的GIF生成方法,其包括的各程序模块的功能:在本实施例中, GIF生成装置10可以包括或被分割成一个或多个程序模块,一个或者多个程序模块被存储于存储介质中,并由一个或多个处理器所执行,以完成本发明,并可实现上述GIF生成方法。本发明所称的程序模块是指能够完成特定功能的一系列计算机程序指令段,比程序本身更适合于描述GIF生成装置在存储介质中的执行过程。以下描述将具体介绍本实施例各程序模块的功能:
取景器创建模块11,适于根据用户指令创建并初始化取景器;
循环取图模块12:适于根据用户自定义取景器设置以及定时器设置,定时器循环取图;
水印添加模块13,适于根据用户指令对循环取图模块存储图片,在指定位置处添加指定的水印;
GIF生成模块14:适于所生成的数组取出,生成gif。
其中,循环取图模块12包括截图子模块、视频下载子模块、时间点转换子模块、图片转换子模块、取景框位置确定子模块以及图片剪切及存储单元子模块。
截图子模块用于获取当前应用的window,由window获取当前的屏幕的视图,截取视图;同时用于记录每次取图时对应的当前时间点Ta,并存储每次取图时对应的当前时间点Ta形成数组Z1;同时获取视频当前播放时间点T1以及定时器开启总时长T;
视频下载子模块用于根据当前播放时间点T1、定时器开启总时长T从视频链接中下载定时器开启期间播放的视频V;
时间点转换子模块用于根据当前播放时间点T1、数组Z1中所存储的取图时对应的当前时间点数据,确定视频V中对应的各取图时间点Tb,并存储形成视频V中对应的取图时间点Tb形成数组Z2;
图片转换子模块用于根据数组Z2中记录的取图时间,截取视频V对应的视频帧存入数组B1中;
取景框位置确定子模块用于计算取景框在屏幕中的位置和大小;
图片剪切及存储单元子模块用于根据取景框位置确定子模块确定的取景框位置和大小,剪切图片转换子模块中的视频帧得到取景框中的图片并存储至数组B中。
水印添加模块13包括水印确定子模块,水印位置确定子模块、水印绘制子模块以及图片存储子模块;上述水印确定子模块用于确定待添加水印内容,水印位置用于确定待添加水印内容在图片中的具体位置;水印绘制子模块确定子模块用于将水印内容绘制水印位置确定子模块确定的各图片的指定位置上;图片存储子模块用于所得到的新图片存入至新数组中。
GIF生成模块14包括:图片取出及存储子模块、GIF属性配置子模块以及 GIF生成子模块:
图片取出及存储子模块取出水印添加模块中最终形成的数组中的图片,并创建本地存储,本地存储路径映射为URL;
初始化子模块,用于GIF生成器的初始化;
GIF属性配置子模块用于配置GIF属性;
GIF生成子模块用于循环将从URL中上传的图片添加到GIF生成器里,并在添加完后生成GIF。
本发明所示的GIF生成装置,在生成GIF时,对截屏图片的视频画面,进行处理,以避免出现截屏图片中视频部分为黑色的现象,从而满足用户根据需要截取相应内容作为GIF图像文件的需求,此外,截取屏幕中指定位置与指定大小的图片生成GIF,而非对整个屏幕进行录制,且在生成GIF的过程中,还可对选定的图片进行编辑操作,增强了用户操作的自由性与方便度。
实施例三
本发明还提供一种计算机设备,即终端设备20,如可以执行程序的智能手机、平板电脑、笔记本电脑、台式计算机、机架式服务器、刀片式服务器、塔式服务器或机柜式服务器(包括独立的服务器,或者多个服务器所组成的服务器集群)等。本实施例的计算机设备(终端设备20)至少包括但不限于:可通过系统总线相互通信连接的存储器21、处理器22,如图4所示。需要指出的是,图4仅示出了具有组件21-22的终端设备20,但是应理解的是,并不要求实施所有示出的组件,可以替代的实施更多或者更少的组件。
本实施例中,存储器21(即可读存储介质)包括闪存、硬盘、多媒体卡、卡型存储器(例如,SD或DX存储器等)、随机访问存储器(RAM)、静态随机访问存储器(SRAM)、只读存储器(ROM)、电可擦除可编程只读存储器 (EEPROM)、可编程只读存储器(PROM)、磁性存储器、磁盘、光盘等。在一些实施例中,存储器21可以是终端设备20的内部存储单元,例如该终端设备20的硬盘或内存。在另一些实施例中,存储器21也可以是终端设备20的外部存储设备,例如该终端设备20上配备的插接式硬盘,智能存储卡(Smart Media Card,SMC),安全数字(Secure Digital,SD)卡,闪存卡(Flash Card)等。当然,存储器21还可以既包括终端设备20的内部存储单元也包括其外部存储设备。本实施例中,存储器21通常用于存储安装于终端设备20的操作系统和各类应用软件,例如实施例一的GIF生成装置10的程序代码等。此外,存储器 21还可以用于暂时地存储已经输出或者将要输出的各类数据。
处理器22在一些实施例中可以是中央处理器(Central Processing Unit, CPU)、控制器、微控制器、微处理器、或其他数据处理芯片。该处理器22通常用于控制终端设备20的总体操作。本实施例中,处理器22用于运行存储器 21中存储的程序代码或者处理数据,例如运行GIF生成装置10,以实现实施例一的GIF生成方法。
实施例四
本发明还提供一种计算机可读存储介质,如闪存、硬盘、多媒体卡、卡型存储器(例如,SD或DX存储器等)、随机访问存储器(RAM)、静态随机访问存储器(SRAM)、只读存储器(ROM)、电可擦除可编程只读存储器 (EEPROM)、可编程只读存储器(PROM)、磁性存储器、磁盘、光盘、服务器、App应用商城等等,其上存储有计算机程序,程序被处理器执行时实现相应功能。本实施例的计算机可读存储介质用于存储GIF生成装置10,被处理器执行时实现实施例一的GIF生成方法。
上述本发明实施例序号仅仅为了描述,不代表实施例的优劣。
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到上述实施例方法可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件,但很多情况下前者是更佳的实施方式。
以上仅为本发明的优选实施例,并非因此限制本发明的专利范围,凡是利用本发明说明书及附图内容所作的等效结构或等效流程变换,或直接或间接运用在其他相关的技术领域,均同理包括在本发明的专利保护范围内。
Claims (9)
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任一项所述方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910049510.0A CN109862295B (zh) | 2019-01-18 | 2019-01-18 | Gif生成方法、装置、计算机设备及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910049510.0A CN109862295B (zh) | 2019-01-18 | 2019-01-18 | Gif生成方法、装置、计算机设备及存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN109862295A CN109862295A (zh) | 2019-06-07 |
CN109862295B true CN109862295B (zh) | 2022-10-21 |
Family
ID=66895182
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201910049510.0A Active CN109862295B (zh) | 2019-01-18 | 2019-01-18 | Gif生成方法、装置、计算机设备及存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN109862295B (zh) |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110942500B (zh) * | 2019-11-29 | 2024-06-07 | 广州久邦世纪科技有限公司 | 一种静态图转化成动态图的方法和装置 |
CN111464760A (zh) * | 2020-05-06 | 2020-07-28 | Oppo(重庆)智能科技有限公司 | 动态图像的生成方法、生成装置及终端设备 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102681829A (zh) * | 2011-03-16 | 2012-09-19 | 阿里巴巴集团控股有限公司 | 一种屏幕截图方法、装置及通讯客户端 |
CN105812892A (zh) * | 2014-12-29 | 2016-07-27 | 深圳Tcl数字技术有限公司 | 电视的动态显示画面的截取方法、装置及系统 |
CN107229402A (zh) * | 2017-05-22 | 2017-10-03 | 努比亚技术有限公司 | 终端的动态截屏方法、装置及可读存储介质 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20170171643A1 (en) * | 2015-12-14 | 2017-06-15 | Le Holdings (Beijing) Co., Ltd. | Method and electronic device for displaying watermark |
-
2019
- 2019-01-18 CN CN201910049510.0A patent/CN109862295B/zh active Active
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102681829A (zh) * | 2011-03-16 | 2012-09-19 | 阿里巴巴集团控股有限公司 | 一种屏幕截图方法、装置及通讯客户端 |
CN105812892A (zh) * | 2014-12-29 | 2016-07-27 | 深圳Tcl数字技术有限公司 | 电视的动态显示画面的截取方法、装置及系统 |
CN107229402A (zh) * | 2017-05-22 | 2017-10-03 | 努比亚技术有限公司 | 终端的动态截屏方法、装置及可读存储介质 |
Also Published As
Publication number | Publication date |
---|---|
CN109862295A (zh) | 2019-06-07 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110198486B (zh) | 一种预览视频素材的方法、计算机设备及可读存储介质 | |
CN108377334B (zh) | 短视频拍摄方法、装置及电子终端 | |
CN106998494B (zh) | 一种视频录制方法及相关装置 | |
CN108024079B (zh) | 录屏方法、装置、终端及存储介质 | |
CN111612873B (zh) | Gif图片生成方法、装置及电子设备 | |
US10929460B2 (en) | Method and apparatus for storing resource and electronic device | |
CN111491174A (zh) | 虚拟礼物获取及展示方法、装置、设备及存储介质 | |
CN110599396A (zh) | 信息处理方法及装置 | |
CN110650247A (zh) | 一种自定义开/关机动画的方法、智能终端及存储介质 | |
CN110213458B (zh) | 一种图像数据处理方法、装置及存储介质 | |
CN109862295B (zh) | Gif生成方法、装置、计算机设备及存储介质 | |
CN110968391A (zh) | 一种截图方法、装置、终端设备及存储介质 | |
CN113630557B (zh) | 图像处理方法、装置、设备、存储介质及计算机程序产品 | |
CN112422844A (zh) | 在视频中添加特效的方法、装置、设备及可读存储介质 | |
CN111163358A (zh) | Gif图像生成方法、装置、服务器及存储介质 | |
US20170161871A1 (en) | Method and electronic device for previewing picture on intelligent terminal | |
US10460490B2 (en) | Method, terminal, and computer storage medium for processing pictures in batches according to preset rules | |
US20130050190A1 (en) | Dressing simulation system and method | |
CN114430460A (zh) | 拍摄方法、装置和电子设备 | |
WO2019015411A1 (zh) | 录屏方法、装置及电子设备 | |
CN111294500B (zh) | 图像拍摄方法、终端设备及介质 | |
CN109922291B (zh) | Gif生成方法、装置、计算机设备及存储介质 | |
CN108875670A (zh) | 信息处理方法、装置和存储介质 | |
CN115858077A (zh) | 用于创建特效的方法、装置、设备和介质 | |
CN115904168A (zh) | 基于多设备的影像素材处理方法及相关装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |