CN113688341B - 动态图片分解方法、装置、电子设备及可读存储介质 - Google Patents
动态图片分解方法、装置、电子设备及可读存储介质 Download PDFInfo
- Publication number
- CN113688341B CN113688341B CN202111237303.1A CN202111237303A CN113688341B CN 113688341 B CN113688341 B CN 113688341B CN 202111237303 A CN202111237303 A CN 202111237303A CN 113688341 B CN113688341 B CN 113688341B
- Authority
- CN
- China
- Prior art keywords
- picture
- dynamic picture
- decomposed
- dynamic
- decomposition
- 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
- 238000000354 decomposition reaction Methods 0.000 title claims abstract description 117
- 238000000034 method Methods 0.000 title claims abstract description 75
- 230000003068 static effect Effects 0.000 claims abstract description 78
- 238000013515 script Methods 0.000 claims description 9
- 238000004364 calculation method Methods 0.000 claims description 5
- 238000004891 communication Methods 0.000 claims description 4
- 230000008569 process Effects 0.000 abstract description 22
- 238000004590 computer program Methods 0.000 description 13
- 238000012545 processing Methods 0.000 description 7
- 230000009286 beneficial effect Effects 0.000 description 6
- 238000010586 diagram Methods 0.000 description 6
- 230000000875 corresponding effect Effects 0.000 description 5
- 238000011156 evaluation Methods 0.000 description 5
- 230000006870 function Effects 0.000 description 5
- 230000000694 effects Effects 0.000 description 4
- 230000003993 interaction Effects 0.000 description 4
- 239000000463 material Substances 0.000 description 4
- 230000003287 optical effect Effects 0.000 description 3
- 230000005540 biological transmission Effects 0.000 description 2
- 238000006243 chemical reaction Methods 0.000 description 2
- 238000011161 development Methods 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 230000001953 sensory effect Effects 0.000 description 2
- 238000006467 substitution reaction Methods 0.000 description 2
- 230000000007 visual effect Effects 0.000 description 2
- 241000699666 Mus <mouse, genus> Species 0.000 description 1
- 241000699670 Mus sp. Species 0.000 description 1
- 230000002596 correlated effect Effects 0.000 description 1
- 238000013135 deep learning Methods 0.000 description 1
- 238000012217 deletion Methods 0.000 description 1
- 230000037430 deletion Effects 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 238000000605 extraction Methods 0.000 description 1
- 239000004973 liquid crystal related substance Substances 0.000 description 1
- 239000013307 optical fiber Substances 0.000 description 1
- 238000010079 rubber tapping Methods 0.000 description 1
- 239000004065 semiconductor Substances 0.000 description 1
- 230000035939 shock Effects 0.000 description 1
- 230000002194 synthesizing effect Effects 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/90—Details of database functions independent of the retrieved data types
- G06F16/95—Retrieval from the web
- G06F16/957—Browsing optimisation, e.g. caching or content distillation
Landscapes
- Engineering & Computer Science (AREA)
- Databases & Information Systems (AREA)
- Theoretical Computer Science (AREA)
- Data Mining & Analysis (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Information Transfer Between Computers (AREA)
Abstract
本申请公开了动态图片分解方法、装置、电子设备及可读存储介质,所述动态图片分解方法包括:当接收到动态图片分解请求时,根据所述动态图片分解请求展示扩展程序操作面板;获取浏览器载入所述扩展程序操作面板的待分解动态图片;获取浏览器载入的待分解动态图片;将所述待分解动态图片分解成图片数组集合;遍历所述图片数组集合,并生成单帧静态图片集。本申请解决了现有技术中动态图片分解操作过程繁琐的技术问题。
Description
技术领域
本申请涉及图片处理技术领域,尤其涉及一种动态图片分解方法、装置、电子设备及可读存储介质。
背景技术
随着互联网的高速发展,动态图片逐渐成为一种新的艺术形式,越来越受人喜欢,随着人们对动态图片的视觉要求和感官体验越来越高,大家对于动态图片创作的需求也越来越强烈,进而涌现出很多动态图片制作的网站、应用软件和应用程序等,在对喜欢的动态图片进行二次创作或想要获取其中某一帧图片作为素材或个性化应用时,常常需要对动态图片进行分解,但现有技术需要下载图片、上传图片、登录网站、下载软件等一系列的操作,使得人们应用现有技术对动态图片进行分解的操作过程较为繁琐。
发明内容
本申请的主要目的在于提供一种动态图片分解方法、装置、电子设备及可读存储介质,旨在解决现有技术中动态图片分解操作过程繁琐的技术问题。
为实现上述目的,本申请提供一种动态图片分解方法,所述动态图片分解方法包括:
当接收到动态图片分解请求时,根据所述动态图片分解请求展示扩展程序操作面板;
获取浏览器载入所述扩展程序操作面板的待分解动态图片;
将所述待分解动态图片分解成图片数组集合;
遍历所述图片数组集合,并生成单帧静态图片集。
本申请还提供一种动态图片分解装置,所述动态图片分解装置应用于动态图片分解设备,所述动态图片分解装置包括:
扩展程序操作面板展示模块,用于当接收到动态图片分解请求时,根据所述动态图片分解请求展示扩展程序操作面板;
待分解动态图片获取模块,用于获取浏览器载入所述扩展程序操作面板的待分解动态图片;
待分解动态图片分解模块,用于将所述待分解动态图片分解成图片数组集合;
单帧静态图片生成模块,用于遍历所述图片数组集合,并生成单帧静态图片集。
本申请还提供一种电子设备,所述电子设备为实体设备,所述电子设备包括:存储器、处理器以及存储在所述存储器上并可在所述处理器上运行的所述动态图片分解方法的程序,所述动态图片分解方法的程序被处理器执行时可实现如上述的动态图片分解方法的步骤。
本申请还提供一种可读存储介质,所述可读存储介质为计算机可读存储介质,所述计算机可读存储介质上存储有实现动态图片分解方法的程序,所述动态图片分解方法的程序被处理器执行时实现如上述的动态图片分解方法的步骤。
本申请还提供一种计算机程序产品,包括计算机程序,所述计算机程序被处理器执行时实现如上述的动态图片分解方法的步骤。
本申请提供了一种动态图片分解方法、装置、电子设备及可读存储介质,首先通过当接收到动态图片分解请求时,根据所述动态图片分解请求展示扩展程序操作面板,获取浏览器载入的待分解动态图片,实现了根据浏览器检测到的用户的动态图片分解需求,直接将浏览器打开的网页中的待分解动态图片载入扩展程序操作面板,简化了现有技术中下载待分解动态图片、保存待分解动态图片以及上传待分解动态图片等一系列获取待分解动态图片的操作步骤,进而通过将所述待分解动态图片分解成图片数组集合,实现了在不依赖网络的情况下对所述待分解动态图片进行分解,避免了由于大量的网络交互导致动态图片分解过程出现卡顿、延迟或失败等情况而增加了用户分解动态图片的操作时间和操作步骤,进而通过遍历所述图片数组集合,并生成单帧静态图片,实现了待分解动态图片到单帧静态图片的转换,克服了现有技术中动态图片分解操作过程繁琐的技术问题,有效简化了用户对动态图片进行分解的操作过程。
附图说明
此处的附图被并入说明书中并构成本说明书的一部分,示出了符合本申请的实施例,并与说明书一起用于解释本申请的原理。
为了更清楚地说明本申请实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,对于本领域普通技术人员而言,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
图1为本申请动态图片分解方法第一实施例的流程示意图;
图2为本申请动态图片分解方法第二实施例的流程示意图;
图3为本申请动态图片分解方法第三实施例的流程示意图;
图4为本申请实施例中动态图片分解方法涉及的硬件运行环境的设备结构示意图。
本申请目的实现、功能特点及优点将结合实施例,参照附图做进一步说明。
具体实施方式
为使本发明的上述目的、特征和优点能够更加明显易懂,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述。显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动的前提下所获得的所有其它实施例,均属于本发明保护的范围。
实施例一
随着互联网的高速发展,动态图片逐渐成为一种新的艺术形式,越来越受人喜欢,随着人们对动态图片的视觉要求和感官体验越来越高,大家对于动态图片创作的需求也越来越强烈,进而涌现出很多动态图片制作的网站、应用软件和应用程序等,在对喜欢的动态图片进行二次创作或想要获取其中某一帧图片作为素材或个性化应用时,常常需要对动态图片进行分解,但若使用应用软件或应用程序进行分解,需要先下载相应的应用软件或应用程序,若通过网站进行分解,每次都得打开特定的网址,且不论哪种现有技术,都需要执行下载待分解动态图片、上传待分解动态图片、甚至还可能需要上传服务器等一系列的操作,使得人们应用现有技术对动态图片进行分解的操作过程较为繁琐。
本申请实施例提供一种动态图片分解方法,在本申请动态图片分解方法的第一实施例中,参照图1,所述动态图片分解方法包括:
步骤S10,当接收到动态图片分解请求时,根据所述动态图片分解请求展示扩展程序操作面板;
在本实施例中,需要说明的是,本实施例的执行主体为动态图片分解插件,以插件形式挂载在浏览器端,既利用了浏览器插件可以执行JavaScript脚本的特性,实现了无网络情况下的动态图片拆解,有效降低了对网络的依赖,又可以通过浏览器直接获取到待分解动态图片,减少了上传下载的手动操作过程和图片传输过程,大大减少了网络交互,简化了用户对动态图片进行分解的操作过程。
具体地,浏览器通过检测浏览器界面上的相关控件的触发操作,向动态图片分解插件发送动态图片分解请求,动态图片分解插件根据所述动态图片分解请求,向浏览器发送动态图片分解插件的扩展程序面板的启用指令,浏览器根据所述启用指令展示所述扩展程序操作面板,其中,所述扩展程序操作面板是动态图片分解插件的操作界面,用于获取用户对载入插件的动态图片的目标操作(如:分解动态图片、选择保存地址、选择分解后的单帧静态图片、编辑分解后的单帧静态图片和/或保存分解后的单帧静态图片等)和/或展示各目标操作的完成情况(如:显示分解动态图片的进度条、显示选择的保存地址和/或突出显示已选的分解后的单帧静态图片等)等。
优选地,所述当接收到动态图片分解请求时,根据所述动态图片分解请求展示扩展程序操作面板的步骤之前,还包括:
在浏览器中生成启用控件,接收浏览器检测到用户触发所述启用控件生成并发送的动态图片分解请求。
在本实施例中,具体地,在所述动态图片分解插件安装完成后,可以在浏览器的工具栏或动态图片的关联控件等位置中增加启用控件,浏览器通过检测对所述控件的点击或选择等操作向所述动态图片分接插件发送动态图片分解请求,其中,所述启用控件用于打开所述扩展程序操作面板,可以是按钮控件、行操作控件或隐藏按钮控件等形式。
步骤S20,获取浏览器载入所述扩展程序操作面板的待分解动态图片;
具体地,用户从浏览器打开的网页中或浏览器关联的本地文件地址中选取待分解动态图片,浏览器通过检测用户操作获取用户选取的待分解动态图片,并载入到动态图片分解插件的扩展程序操作面板中,以供用户通过所述扩展程序操作面板对所述待分解动态图片进行后续分解、编辑和/或保存等操作,插件获取浏览器载入到所述扩展程序操作面板的待分解动态图片,其中,所述待分解动态图片是指当一组特定的静态图像以指定的频率切换而产生某种动态效果的图片,包括GIF(Graphics Interchange Format,图形交换格式)图片或swf(shock wave flash)动画等,用户从浏览器打开的网页中选取的待分解动态图片,浏览器可直接获取到其URL(uniform resource locator,统一资源定位系统)和HTML(Hyper Text Markup Language,超文本标记语言)元素,进而确定具体的图片信息,用户选取待分解动态图片的方式包括但不限于:当检测到鼠标移动到第一动态图片上时,显示一个动态图片分解图标,当用户点击所述动态图片分解图标时,将所述第一动态图片作为用户选取的待分解动态图片;当检测到第二动态图片的右键点击操作时,在其显示的下拉框中增加一个动态图片分解行操作,当用户点击所述动态图片分解行操作时,将所述第二动态图片作为用户选取的待分解动态图片;当检测到用户通过在动态图片分解插件的扩展程序操作面板中通过拖拽、点击或选择等方式从本地文件地址中选取了一张第三动态图片时,将所述第三动态图片作为用户选取的待分解动态图片。
步骤S30,将所述待分解动态图片分解成图片数组集合;
在本实施例中,具体地,可以通过播放所述待分解动态图片并抓取预设时刻的静态图片的方式获取一定数量的静态图片,进而生成由静态图片的图像数据组成的图片数组集合,也可以通过将所述待分解动态图片转换成图像文件,进而对所述图像文件进行重编码得到包括有每一帧图片数据的图片数组集合,其中,所述图像文件是由相互关联的若干帧静止的图像所组成的图像序列,这些静止图像连续播放形成一组动画,通常用来完成简单的动态过程演示,包括GIF文件、Flash文件等,图片数组集合是由待分解动态图片中不同时刻的静态图片的图像数据组成。
步骤S40,遍历所述图片数组集合,并生成单帧静态图片集。
在本实施例中,具体地,遍历所述图片数组集合,获取待分解动态图片中每一帧的静态图片的图像数据,根据所述图像数据生成全部单帧静态图片组成的单帧静态图片集,其中所述图片数组集合是由不同时刻的静态图片的图像数据组成,每一张静态图片的图像数据有其固有的数据结构,通过对数据结构的特征数据进行识别可以将所述图片数组集合中的不同时刻的静态图片的图像数据进行分解。
优选地,所述生成单帧静态图片集的步骤之后还包括:
步骤A10,对所述单帧静态图片集中的任意两张单帧静态图片进行相似度计算;
在本实施例中,具体地,对所述单帧静态图片集中的每一张单帧静态图片进行与所述单帧静态图片集中的除本身之外的其他全部单帧静态图片进行相似度计算,其中,所述相似度计算可以通过分辨率比对、提取局部特征比对或基于深度学习的图像处理技术等方法,对此本实施例不加以限制。
步骤A20,将相似度高于预设数值的单帧静态图片划分到同一单帧静态图片组;
在本实施例中,具体地,根据相似度对对所述单帧静态图片集中的全部所述单帧静态图片进行分组,将相似度高于预设数值的两张单帧静态图片分到第一单帧静态图片组,并将与这两张单帧静态图片相似度高于预设数值的其他单帧静态图片也分到所述第一单帧静态图片组中,完成所述第一单帧静态图片组的分组后,将剩下的单帧静态图片按相同的方法进行分组,直至所述单帧静态图片集中的全部单帧静态图片都有其所属的单帧静态图片组。
步骤A30,将所述单帧静态图片根据所述单帧静态图片组进行分组排列展示。
在本实施例中,具体地,将全部所述单帧静态图片组展示在所述扩展程序操作面板中,并将属于不同单帧静态图片组的单帧静态图片分别排列在其对应的单帧静态图片组的展示区域中,其中,所述排列展示的方式包括但不限于:将单帧静态图片组按行排列,同一单帧静态图片组的单帧静态图片排列在同一行进行展示;将同一单帧静态图片组的单帧静态图片排列在二级菜单中,一级菜单仅选取组内的某一单帧静态图片进行显示。
优选地,所述生成单帧静态图片集的步骤之后还包括:
当接收到保存指令时,获取用户从所述单帧静态图片集中选择的目标单帧静态图片,并保存所述目标单帧静态图片。
在本实施例中,具体地,在本实施例中,具体地,当接收到根据检测到的用户操作发送的保存指令时,获取用户从所述单帧静态图片集中选择的一张或一张以上的目标单帧静态图片,以及用户选择的或系统默认的所述目标单帧静态图片对应的保存地址,进而将所述目标单帧静态图片保存到所述保存地址,其中,用于发送的保存指令的用户操作包括在浏览器界面的操作或在扩展程序操作面板的操作,例如:根据浏览器弹窗内容点击保存按钮或在扩展程序操作面板中点击保存按钮等;所述单帧静态图片可以以图片或文字(例如:根据帧序编号、截取时间、文字说明等)等方式进行展示,以供用户选择,用户进而通过勾选、全选、删除等操作选取目标单帧静态图片;系统预先设置默认保存地址,也可以通过弹窗或扩展程序操作面板提示用户进行保存地址的选择和/或修改。
在另一种可实施的方式中,可以以复制的形式进行保存,即将所述目标单帧静态图片保存到剪贴板中,进而直接将剪贴板中的单帧静态图片进行粘贴和使用,例如,粘贴到文档、图片、应用程序等。
在本实施例中,通过提前获取用户选择的目标单帧静态图片可有效减少存储量,节约存储空间,还可以减少保存后对不需要的静态图片的不必要的清除操作,有效简化了用户对动态图片进行分解的操作过程。
在本实施例中,利用了浏览器插件可以执行JavaScript脚本的特性,实现了无网络情况下的动态图片拆解,有效降低了对网络的依赖,又可以通过浏览器直接获取到待分解动态图片,减少了上传下载的手动操作过程和图片传输过程,大大减少了网络交互,通过当接收到动态图片分解请求时,根据所述动态图片分解请求展示扩展程序操作面板,获取浏览器载入的待分解动态图片,实现了根据浏览器检测到的用户的动态图片分解需求,直接将浏览器打开的网页中的待分解动态图片载入扩展程序操作面板,简化了现有技术中下载待分解动态图片、保存待分解动态图片以及上传待分解动态图片等一系列获取待分解动态图片的操作步骤,进而通过将所述待分解动态图片分解成图片数组集合,实现了在不依赖网络的情况下对所述待分解动态图片进行分解,避免了由于大量的网络交互导致动态图片分解过程出现卡顿、延迟或失败等情况而增加了用户分解动态图片的操作时间和操作步骤,进而通过遍历所述图片数组集合,并生成单帧静态图片,实现了待分解动态图片到单帧静态图片的转换,克服了现有技术中动态图片分解操作过程繁琐的技术问题,有效简化了用户对动态图片进行分解的操作过程。
实施例二
进一步地,参照图2,基于本申请第一实施例,在本申请另一实施例中,与上述实施例一相同或相似的内容,可以参考上文介绍,后续不再赘述。在此基础上,所述将所述待分解动态图片分解成图片数组集合的步骤包括:
步骤S311,获取所述待分解动态图片的数据流;
在本实施例中,具体地,通过Uint8ClampedArray或Uint8Array等方法获取所述待分解动态图片的数据流,其中,数据流是一组有序,有起点和终点的字节的数据序列,包括包括逻辑屏幕标识符、图像块、扩展块等。
步骤S312,根据所述数据流确定所述待分解动态图片的帧数和帧率;
在本实施例中,具体地,通过charCodeAt() & 0xFF方法获取数据流的预设位数的字节信息,进而通过<<8位运算对所述字节信息进行运算,确定所述待分解动态图片的帧数和帧率。
步骤S313,根据所述帧率和所述帧数将所述待分解动态图片分解成图片数组集合。
在本实施例中,具体地,可以根据所述帧率和所述帧数播放所述待分解动态图片并抓取预设时刻的静态图片的方式获取一定数量的静态图片,进而生成由静态图片的图像数据组成的图片数组集合,也可以通过图片标签将所述待分解动态图片绘制到画布上,进而根据所述帧数和帧率遍历所述第一待分解动态图片实例得到图片数组集合,其中,画布是在HTML5中新增的标签,用于在网页实时生成图像,并且可以操作图像内容,基本上它是一个可以用JavaScript操作的位图,绘制到画布上之后,可以渲染到界面上或仅在后台运行。
优选地,所述根据所述播放速度和所述帧数将所述待分解动态图片分解成图片数组集合的步骤包括:
步骤S3131,生成所述待分解动态图片的第一图片标签,并根据所述第一图片标签将所述待分解动态图片绘制到画布中,得到第一待分解动态图片实例;
在本实施例中,具体地,根据所述待分解动态图片的分辨率或尺寸信息等确定所述待分解动态图片的长和宽,根据所述待分解动态图片的长和宽生成所述待分解动态图片的第一图片标签,通过所述第一图片标签将所述待分解动态图片绘制到画布中,得到第一待分解动态图片实例,其中,所述第一图片标签为canvas标签,所述画布为canvas画布。
步骤S3132,以所述帧数作为遍历总次数,根据所述帧率对应的间隔时间遍历所述第一待分解动态图片实例得到图片数组集合。
在本实施例中,具体地,根据所述帧率和所述canvas标签的长和宽,确定for循环的间隔时间,根据所述帧数确定for循环的循环次数,并根据确定的for循环遍历所述第一待分解动态图片实例,通过getImageData方法获取每一帧静态图片的图像数据,进而得到生成由每一帧静态图片的图像数据组成的图片数组集合。
在本实施例中,采用获取数据流的方式可以更准确地确定待分解动态图片的帧数和帧率,进而根据帧数和帧率对待分解动态图片进行分解,最终得到的单帧静态图片与待分解动态图片最初合成所用的素材图片最为接近,保证了最终得到的单帧静态图片的图片质感和呈现效果,提高了用户体验。
实施例三
进一步地,参照图2,基于本申请第一实施例,在本申请另一实施例中,与上述实施例一相同或相似的内容,可以参考上文介绍,后续不再赘述。在此基础上,所述将所述待分解动态图片分解成图片数组集合的步骤包括:
步骤S221,生成所述待分解动态图片的第二图片标签;
在本实施例中,具体地,根据所述待分解动态图片的分辨率或尺寸信息等确定所述待分解动态图片的长和宽,根据所述待分解动态图片的长和宽生成所述待分解动态图片的第二图片标签,其中,所述第二图片标签为img标签,在一种可实施的方式中,生成所述待分解动态图片的第二图片标签的步骤之后,还可以根据所述第二图片标签将图片渲染到预设界面中,其中,所述预设界面包括浏览器显示界面或扩展程序操作面板的显示界面等。
步骤S322,将资源位置属性和自动播放属性添加到所述第二图片标签,得到第三图片标签;
在本实施例中,具体地,获取所述待分解动态图片的资源位置,根据所述资源位置生成资源位置属性,根据预设开始帧数生成自动播放属性,将所述资源位置属性和所述自动播放属性添加到所述第二图片标签中,得到第三图片标签,其中,所述资源位置包括URL或本地文件地址等,所述资源位置属性包括rel:animated_src,所述自动播放属性包括rel:auto_play。
步骤S323,根据所述第三图片标签生成第二待分解动态图片实例;
在本实施例中,具体地,根据所述第三图片标签新建动态图片实例,得到第二代分解动态图片实例。
步骤S324,调用动态图片分解脚本将第二待分解动态图片实例分解成图片数组集合。
在本实施例中,具体地,调用预设程序语言库中的动态图片分解脚本将第二待分解动态图片实例分解成图片数组集合,其中,所述预设程序语言库是动态图片处理所需脚本的集合,包括giflib库、gifView库和/或Glide库等。
在本实施例中,利用浏览器插件可以执行JavaScript脚本的特性,通过在插件中直接调用脚本的方式实现了动态图片的分解,有效地将现有脚本与通过插件实现动态图片分解的方式进行结合。
实施例四
本申请实施例还提供一种动态图片分解装置,所述动态图片分解装置应用于动态图片分解设备,所述动态图片分解装置包括:
扩展程序操作面板展示模块,用于当接收到动态图片分解请求时,根据所述动态图片分解请求展示扩展程序操作面板;
待分解动态图片获取模块,用于获取浏览器载入所述扩展程序操作面板的待分解动态图片;
待分解动态图片分解模块,用于将所述待分解动态图片分解成图片数组集合;
单帧静态图片生成模块,用于遍历所述图片数组集合,并生成单帧静态图片集。
可选地,所述待分解动态图片分解模块还用于:
获取所述待分解动态图片的数据流;
根据所述数据流确定所述待分解动态图片的帧数和帧率;
根据所述帧率和所述帧数将所述待分解动态图片分解成图片数组集合。
可选地,所述待分解动态图片分解模块还用于:
生成所述待分解动态图片的第一图片标签,并根据所述第一图片标签将所述待分解动态图片绘制到画布中,得到第一待分解动态图片实例;
以所述帧数作为遍历总次数,根据所述帧率对应的间隔时间遍历所述第一待分解动态图片实例得到图片数组集合。
可选地,所述待分解动态图片分解模块还用于:
生成所述待分解动态图片的第二图片标签;
将资源位置属性和自动播放属性添加到所述第二图片标签,得到第三图片标签;
根据所述第三图片标签生成第二待分解动态图片实例;
调用动态图片分解脚本将所述第二待分解动态图片实例分解成图片数组集合。
可选地,所述单帧静态图片生成模块还用于:
对所述单帧静态图片集中的任意两张单帧静态图片进行相似度计算;
将相似度高于预设数值的单帧静态图片划分到同一单帧静态图片组;
将所述单帧静态图片根据所述单帧静态图片组进行分组排列展示。
可选地,所述扩展程序操作面板展示模块还用于:
在浏览器中生成启用控件,接收浏览器检测到用户触发所述启用控件生成并发送的动态图片分解请求。
可选地,所述单帧静态图片生成模块还用于:
当接收到保存指令时,获取用户从所述单帧静态图片集中选择的目标单帧静态图片,并保存所述目标单帧静态图片。
本发明提供的动态图片分解装置,采用上述实施例一或实施例二中的动态图片分解方法,解决了现有技术中动态图片分解操作过程繁琐的技术问题。与现有技术相比,本发明实施例提供的动态图片分解装置的有益效果与上述实施例提供的动态图片分解方法的有益效果相同,且该动态图片分解装置中的其他技术特征与上一实施例方法公开的特征相同,在此不做赘述。
实施例五
本发明实施例提供一种电子设备,电子设备包括:至少一个处理器;以及,与至少一个处理器通信连接的存储器;其中,存储器存储有可被至少一个处理器执行的指令,指令被至少一个处理器执行,以使至少一个处理器能够执行上述实施例一中的动态图片分解方法。
下面参考图4,其示出了适于用来实现本公开实施例的电子设备的结构示意图。本公开实施例中的电子设备可以包括但不限于诸如移动电话、笔记本电脑、数字广播接收器、PDA(个人数字助理)、PAD(平板电脑)、PMP(便携式多媒体播放器)、车载终端(例如车载导航终端)等等的移动终端以及诸如数字TV、台式计算机等等的固定终端。图4示出的电子设备仅仅是一个示例,不应对本公开实施例的功能和使用范围带来任何限制。
如图4所示,电子设备可以包括处理装置(例如中央处理器、图形处理器等),其可以根据存储在只读存储器(ROM)中的程序或者从存储装置加载到随机访问存储器(RAM)中的程序而执行各种适当的动作和处理。在RAM中,还存储有电子设备操作所需的各种程序和数据。处理装置、ROM以及RAM通过总线彼此相连。输入/输出(I/O)接口也连接至总线。
通常,以下系统可以连接至I/O接口:包括例如触摸屏、触摸板、键盘、鼠标、图像传感器、麦克风、加速度计、陀螺仪等的输入装置;包括例如液晶显示器(LCD)、扬声器、振动器等的输出装置;包括例如磁带、硬盘等的存储装置;以及通信装置。通信装置可以允许电子设备与其他设备进行无线或有线通信以交换数据。虽然图中示出了具有各种系统的电子设备,但是应理解的是,并不要求实施或具备所有示出的系统。可以替代地实施或具备更多或更少的系统。
特别地,根据本公开的实施例,上文参考流程图描述的过程可以被实现为计算机软件程序。例如,本公开的实施例包括一种计算机程序产品,其包括承载在计算机可读介质上的计算机程序,该计算机程序包含用于执行流程图所示的方法的程序代码。在这样的实施例中,该计算机程序可以通过通信装置从网络上被下载和安装,或者从存储装置被安装,或者从ROM被安装。在该计算机程序被处理装置执行时,执行本公开实施例的方法中限定的上述功能。
本发明提供的电子设备,采用上述实施例一或实施例二中的动态图片分解方法,解决了现有技术中动态图片分解操作过程繁琐的技术问题。与现有技术相比,本发明实施例提供的电子设备的有益效果与上述实施例一提供的动态图片分解方法的有益效果相同,且该电子设备中的其他技术特征与上一实施例方法公开的特征相同,在此不做赘述。
应当理解,本公开的各部分可以用硬件、软件、固件或它们的组合来实现。在上述实施方式的描述中,具体特征、结构、材料或者特点可以在任何的一个或多个实施例或示例中以合适的方式结合。
以上所述,仅为本发明的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应以所述权利要求的保护范围为准。
实施例六
本实施例提供一种计算机可读存储介质,具有存储在其上的计算机可读程序指令,计算机可读程序指令用于执行上述实施例一中的动态图片分解的方法。
本发明实施例提供的计算机可读存储介质例如可以是U盘,但不限于电、磁、光、电磁、红外线、或半导体的系统、系统或器件,或者任意以上的组合。计算机可读存储介质的更具体的例子可以包括但不限于:具有一个或多个导线的电连接、便携式计算机磁盘、硬盘、随机访问存储器(RAM)、只读存储器(ROM)、可擦式可编程只读存储器(EPROM或闪存)、光纤、便携式紧凑磁盘只读存储器(CD-ROM)、光存储器件、磁存储器件、或者上述的任意合适的组合。在本实施例中,计算机可读存储介质可以是任何包含或存储程序的有形介质,该程序可以被指令执行系统、系统或者器件使用或者与其结合使用。计算机可读存储介质上包含的程序代码可以用任何适当的介质传输,包括但不限于:电线、光缆、RF(射频)等等,或者上述的任意合适的组合。
上述计算机可读存储介质可以是电子设备中所包含的;也可以是单独存在,而未装配入电子设备中。
上述计算机可读存储介质承载有一个或者多个程序,当上述一个或者多个程序被电子设备执行时,使得电子设备:获取至少两个网际协议地址;向节点评价设备发送包括所述至少两个网际协议地址的节点评价请求,其中,所述节点评价设备从所述至少两个网际协议地址中,选取网际协议地址并返回;接收所述节点评价设备返回的网际协议地址;其中,所获取的网际协议地址指示内容分发网络中的边缘节点。
或者,上述计算机可读存储介质承载有一个或者多个程序,当上述一个或者多个程序被电子设备执行时,使得该电子设备:接收包括至少两个网际协议地址的节点评价请求;从所述至少两个网际协议地址中,选取网际协议地址;返回选取出的网际协议地址;其中,接收到的网际协议地址指示内容分发网络中的边缘节点。
可以以一种或多种程序设计语言或其组合来编写用于执行本公开的操作的计算机程序代码,上述程序设计语言包括面向对象的程序设计语言—诸如Java、Smalltalk、C++,还包括常规的过程式程序设计语言—诸如“C”语言或类似的程序设计语言。程序代码可以完全地在用户计算机上执行、部分地在用户计算机上执行、作为一个独立的软件包执行、部分在用户计算机上部分在远程计算机上执行、或者完全在远程计算机或服务器上执行。在涉及远程计算机的情形中,远程计算机可以通过任意种类的网络——包括局域网(LAN)或广域网(WAN)—连接到用户计算机,或者,可以连接到外部计算机(例如利用因特网服务提供商来通过因特网连接)。
附图中的流程图和框图,图示了按照本发明各种实施例的系统、方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段、或代码的一部分,该模块、程序段、或代码的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。也应当注意,在有些作为替换的实现中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个接连地表示的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,框图和/或流程图中的每个方框、以及框图和/或流程图中的方框的组合,可以用执行规定的功能或操作的专用的基于硬件的系统来实现,或者可以用专用硬件与计算机指令的组合来实现。
描述于本公开实施例中所涉及到的模块可以通过软件的方式实现,也可以通过硬件的方式来实现。其中,模块的名称在某种情况下并不构成对该单元本身的限定。
本发明提供的计算机可读存储介质,存储有用于执行上述动态图片分解方法的计算机可读程序指令,解决了现有技术中动态图片分解操作过程繁琐的技术问题。与现有技术相比,本发明实施例提供的计算机可读存储介质的有益效果与上述实施例一或实施例二提供的动态图片分解方法的有益效果相同,在此不做赘述。
实施例七
本申请还提供一种计算机程序产品,包括计算机程序,所述计算机程序被处理器执行时实现如上述的动态图片分解方法的步骤。
本申请提供的计算机程序产品解决了现有技术中动态图片分解操作过程繁琐的技术问题。与现有技术相比,本发明实施例提供的计算机程序产品的有益效果与上述实施例一或实施例二提供的动态图片分解方法的有益效果相同,在此不做赘述。
以上仅为本申请的优选实施例,并非因此限制本申请的专利范围,凡是利用本申请说明书及附图内容所作的等效结构或等效流程变换,或直接或间接运用在其他相关的技术领域,均同理包括在本申请的专利处理范围内。
Claims (7)
1.一种动态图片分解方法,其特征在于,所述动态图片分解方法应用于动态图片分解插件,所述动态图片分解插件挂载于浏览器端,以调用动态图片分解方法的JavaScript脚本实现无网络通信状态下的动态图片分解;
所述动态图片分解方法包括:
当接收到动态图片分解请求时,根据所述动态图片分解请求展示扩展程序操作面板;
获取浏览器载入所述扩展程序操作面板的待分解动态图片,所述待分解动态图片为所述浏览器通过检测用户操作从浏览器打开的网页中获取;
获取所述待分解动态图片的数据流;
根据所述数据流确定所述待分解动态图片的帧数和帧率;
根据所述待分解动态图片的尺寸信息确定所述待分解动态图片的长和宽;
根据所述待分解动态图片的长和宽生成所述待分解动态图片的第一图片标签,并根据所述第一图片标签将所述待分解动态图片绘制到画布中,得到第一待分解动态图片实例;
根据所述帧率和所述待分解动态图片的长和宽确定间隔时间,以所述帧数作为遍历总次数,根据所述间隔时间遍历所述第一待分解动态图片实例得到图片数组集合;
遍历所述图片数组集合,并生成单帧静态图片集。
2.如权利要求1所述动态图片分解方法,其特征在于,所述生成单帧静态图片集的步骤之后还包括:
对所述单帧静态图片集中的任意两张单帧静态图片进行相似度计算;
将相似度高于预设数值的单帧静态图片划分到同一单帧静态图片组;
将所述单帧静态图片根据所述单帧静态图片组进行分组排列展示。
3.如权利要求1所述动态图片分解方法,其特征在于,所述当接收到动态图片分解请求时,根据所述动态图片分解请求展示扩展程序操作面板的步骤之前,还包括:
在浏览器中生成启用控件,接收浏览器检测到用户触发所述启用控件生成并发送的动态图片分解请求。
4.如权利要求1所述动态图片分解方法,其特征在于,所述生成单帧静态图片集的步骤之后还包括:
当接收到保存指令时,获取用户从所述单帧静态图片集中选择的目标单帧静态图片,并保存所述目标单帧静态图片。
5.一种动态图片分解装置,其特征在于,所述动态图片分解装置用于实现如权利要求1所述的动态图片分解方法,所述动态图片分解装置包括:
扩展程序操作面板展示模块,用于当接收到动态图片分解请求时,根据所述动态图片分解请求展示扩展程序操作面板;
待分解动态图片获取模块,用于获取浏览器载入所述扩展程序操作面板的待分解动态图片,所述待分解动态图片为所述浏览器通过检测用户操作从浏览器打开的网页中获取;
待分解动态图片分解模块,用于获取所述待分解动态图片的数据流,根据所述数据流确定所述待分解动态图片的帧数和帧率,根据所述待分解动态图片的尺寸信息确定所述待分解动态图片的长和宽,根据所述待分解动态图片的长和宽生成所述待分解动态图片的第一图片标签,并根据所述第一图片标签将所述待分解动态图片绘制到画布中,得到第一待分解动态图片实例,根据所述帧率和所述待分解动态图片的长和宽确定间隔时间,以所述帧数作为遍历总次数,根据所述间隔时间遍历所述第一待分解动态图片实例得到图片数组集合;
单帧静态图片生成模块,用于遍历所述图片数组集合,并生成单帧静态图片集。
6.一种电子设备,其特征在于,所述电子设备包括:
至少一个处理器;以及,
与所述至少一个处理器通信连接的存储器;其中,
所述存储器存储有可被所述至少一个处理器执行的指令,所述指令被所述至少一个处理器执行,以使所述至少一个处理器能够执行权利要求1至4中任一项所述的动态图片分解方法的步骤。
7.一种可读存储介质,其特征在于,所述可读存储介质上存储有实现动态图片分解方法的程序,所述实现动态图片分解方法的程序被处理器执行以实现如权利要求1至4中任一项所述动态图片分解方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111237303.1A CN113688341B (zh) | 2021-10-25 | 2021-10-25 | 动态图片分解方法、装置、电子设备及可读存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111237303.1A CN113688341B (zh) | 2021-10-25 | 2021-10-25 | 动态图片分解方法、装置、电子设备及可读存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN113688341A CN113688341A (zh) | 2021-11-23 |
CN113688341B true CN113688341B (zh) | 2022-02-08 |
Family
ID=78587764
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202111237303.1A Active CN113688341B (zh) | 2021-10-25 | 2021-10-25 | 动态图片分解方法、装置、电子设备及可读存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN113688341B (zh) |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114546231A (zh) * | 2022-02-24 | 2022-05-27 | 特赞(上海)信息科技有限公司 | 基于浏览器插件的图像数据收集方法、装置及存储介质 |
CN114942820A (zh) * | 2022-07-26 | 2022-08-26 | 深圳市明源云空间电子商务有限公司 | 雪碧图生成方法、装置、电子设备及可读存储介质 |
Family Cites Families (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP4300443B2 (ja) * | 2000-02-24 | 2009-07-22 | ソニー株式会社 | 撮像装置および方法、並びに記録媒体 |
KR100909669B1 (ko) * | 2009-05-13 | 2009-07-29 | (주)디지탈아리아 | 모바일 단말 및 임베디드 단말의 웹 브라우저 내에서 플래시 기반 비디오 콘텐츠의 재생 방법 |
CN102368196B (zh) * | 2011-10-02 | 2016-05-04 | 上海量明科技发展有限公司 | 客户端内容发送窗口中编辑动态图片的方法、终端及系统 |
CN107436879A (zh) * | 2016-05-25 | 2017-12-05 | 广州市动景计算机科技有限公司 | 一种动态图片的加载方法和加载系统 |
CN107610206A (zh) * | 2017-09-29 | 2018-01-19 | 北京金山安全软件有限公司 | 动态图片的处理方法、装置、存储介质及电子设备 |
US11418806B2 (en) * | 2019-11-27 | 2022-08-16 | Sony Interactive Entertainment Inc. | Systems and methods for decoding and displaying image frames |
CN112489183A (zh) * | 2020-11-26 | 2021-03-12 | 北京邮电大学 | 基于Unity3D的骨骼动画渲染方法及系统 |
-
2021
- 2021-10-25 CN CN202111237303.1A patent/CN113688341B/zh active Active
Also Published As
Publication number | Publication date |
---|---|
CN113688341A (zh) | 2021-11-23 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11790158B1 (en) | System and method for using a dynamic webpage editor | |
US9612715B2 (en) | Real-time preview of uniform resource identifier addressable dynamic content | |
US9772978B2 (en) | Touch input visualizations based on user interface context | |
CN104995601B (zh) | 切换到本机网页应用程序及从本机网页应用程序切换离开 | |
US20120317506A1 (en) | Method and System for Executing a Graphics Application | |
CN109918604A (zh) | 网页绘图方法、装置、设备及存储介质 | |
US9619529B2 (en) | Method and system of visualizing rendering data | |
CN113688341B (zh) | 动态图片分解方法、装置、电子设备及可读存储介质 | |
WO2020220773A1 (zh) | 图片预览信息的显示方法、装置、电子设备及计算机可读存储介质 | |
CN110766772A (zh) | 基于Flutter跨平台海报制作方法装置介质和设备 | |
US9430808B2 (en) | Synchronization points for state information | |
CN114357345A (zh) | 图片处理方法、装置、电子设备及计算机可读存储介质 | |
US9646362B2 (en) | Algorithm for improved zooming in data visualization components | |
CN103942202A (zh) | 网页文本域高度自适应缩放方法及装置 | |
CN112068873B (zh) | 网页生成方法、装置、服务器及存储介质 | |
CN112995711B (zh) | 一种web前端视频的分帧与图片处理合成方法及系统 | |
EP3008697B1 (en) | Coalescing graphics operations | |
CN113676677B (zh) | 动态图片合成方法、装置、电子设备及可读存储介质 | |
CN111428452B (zh) | 一种批注数据保存方法及装置 | |
CN112492399B (zh) | 信息显示方法、装置及电子设备 | |
CN110489023A (zh) | 多窗口显示的实现方法、装置、设备、介质和系统 | |
CN109992698B (zh) | 数据处理方法、装置、电子设备及可读存储介质 | |
CN109669589B (zh) | 文档编辑方法和装置 | |
WO2023202361A1 (zh) | 视频生成方法、装置、介质及电子设备 | |
US20160147741A1 (en) | Techniques for providing a user interface incorporating sign language |
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 |