CN110706321B - 动态图像的处理方法、装置、和电子设备 - Google Patents
动态图像的处理方法、装置、和电子设备 Download PDFInfo
- Publication number
- CN110706321B CN110706321B CN201910944505.6A CN201910944505A CN110706321B CN 110706321 B CN110706321 B CN 110706321B CN 201910944505 A CN201910944505 A CN 201910944505A CN 110706321 B CN110706321 B CN 110706321B
- Authority
- CN
- China
- Prior art keywords
- node
- dynamic
- node instance
- instance
- instances
- 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
- 238000003672 processing method Methods 0.000 title description 5
- 238000000034 method Methods 0.000 claims abstract description 40
- 238000012545 processing Methods 0.000 claims abstract description 35
- 238000012544 monitoring process Methods 0.000 claims abstract description 8
- 230000004044 response Effects 0.000 claims description 8
- 238000004590 computer program Methods 0.000 claims description 6
- 238000010586 diagram Methods 0.000 description 8
- 230000000694 effects Effects 0.000 description 6
- 230000006870 function Effects 0.000 description 5
- 238000003491 array Methods 0.000 description 2
- 238000013461 design Methods 0.000 description 2
- 239000000463 material Substances 0.000 description 2
- 230000003287 optical effect Effects 0.000 description 2
- 230000008569 process Effects 0.000 description 2
- 230000009286 beneficial effect Effects 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 239000013307 optical fiber Substances 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T13/00—Animation
- G06T13/80—2D [Two Dimensional] animation, e.g. using sprites
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
- Y02D10/00—Energy efficient computing, e.g. low power processors, power management or thermal management
Landscapes
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- User Interface Of Digital Computer (AREA)
- Controls And Circuits For Display Device (AREA)
Abstract
本申请提出一种动态图像的处理方法、装置、和电子设备,涉及图数据处理技术领域,其中,方法包括:获取动态图像,并加载多个节点实例,根据多个节点实例的位置,确定各节点实例对应的动态图像,通过各节点实例展示对应的动态图像的一帧,侦听显示屏的刷新事件,并根据刷新事件,对各节点实例展示的动态图像进行帧切换,以得到动态内容资源,根据多个节点实例的位置灵活设置对应的动态图像,并进行动态展示,实现了用户根据需求和喜好对动态图像进行灵活排布和设置,提高了动态图像布局和展示的灵活性,从而可以得到满足用户需求的动态内容资源,解决了现有技术中动态图像布局固定,无法灵活实现的技术问题。
Description
技术领域
本申请涉及数据处理技术领域,尤其涉及一种动态图像的处理方法、装置、和电子设备。
背景技术
动态贴纸图片Sticker是动态图片Gif的一种特殊实现,其与Gif的不同之处在于其背景色是透明的,可以更好的跟多种用户场景相结合,比如用户聊天,视频编辑,虚拟现实AR等场景下,其透明的背景不会影响原始视频聊天背景,或者图片等的展现,更好的融入当前场景,丰富内容。
然而现有技术中,利用Sticker生成的动态壁纸或视频的布局都是预先确定的,用户只能下载使用,灵活性较差。
发明内容
本申请旨在至少在一定程度上解决相关技术中的技术问题之一。
为此,本申请的第一个目的在于提出一种动态图像的处理方法,根据多个节点实例的位置灵活设置对应的动态图像,并进行动态展示,实现了用户根据需求和喜好对动态图像进行灵活排布和设置,提高了动态图像布局和展示的灵活性,从而可以得到满足用户需求的动态内容资源,解决了现有技术中动态图像布局固定,无法灵活实现的技术问题。
本申请的第二个目的在于提出一种动态图像的处理装置。
本申请的第三个目的在于提出一种电子设备。
本申请的第四个目的在于提出一种计算机可读存储介质。
为达上述目的,本申请第一方面实施例提出了一种动态图像的处理方法,包括:
获取动态图像,并加载多个节点实例;
根据所述多个节点实例的位置,确定各节点实例对应的动态图像;
通过各节点实例展示对应的动态图像的一帧;
侦听显示屏的刷新事件,并根据所述刷新事件,对各节点实例展示的动态图像进行帧切换,以得到动态内容资源。
可选地,在第一方面的第一种可能的实现方式中,所述侦听显示屏的刷新事件之后,还包括:
每当侦听到所述刷新事件,执行公共父类中的位置更新逻辑,以调用公共父类的子类;
根据所述子类指示的更新策略,更新各节点实例的位置;
其中,所述公共父类的位置更新逻辑,用于根据各节点实例的当前位置,调用所述子类,以获取各节点实例更新后的位置。
可选地,在第一方面的第二种可能的实现方式中,所述更新策略,用于指示各节点实例的移动距离和移动方向,和/或,用于指示各节点实例的旋转角度和旋转方向。
可选地,在第一方面的第三种可能的实现方式中,所述更新策略是响应于用户操作选定的。
可选地,在第一方面的第四种可能的实现方式中,所述根据所述刷新事件,对各节点实例展示的动态图像进行帧切换,包括:
读取所述动态图像,得到所述动态图像中的各帧的图像内容以及展示时长;
每当侦听到一个刷新事件,查询当前展示的一帧是否达到所述展示时长;
若达到所述展示时长,通知展示所述一帧的节点实例切换展示下一帧。
可选地,在第一方面的第五种可能的实现方式中,所述多个节点实例为阵列排布,所述根据所述多个节点实例的位置,确定各节点实例对应的动态图像,包括:
依据设定的排布策略,确定处于各位置的节点实例对应的动态图像;
其中,所述排布策略包括:属于相邻行的节点实例对应不同的动态图像;同一行中相邻列的节点实例对应不同的动态图像。
可选地,在第一方面的第六种可能的实现方式中,所述加载多个节点实例,包括:
在背景中,采用阵列排布方式加载与所述屏幕尺寸匹配的多个节点实例;
其中,所述阵列中,相邻列的节点实例行对齐或者错开,或者,相邻行的节点实例列对齐或者错开。
可选地,在第一方面的第七种可能的实现方式中,所述阵列为奇数行和奇数列,具有位于所述阵列中心的中心节点实例,所述通过各节点实例展示对应的动态图像的一帧之后,还包括:
侦听手势事件;
响应于所述手势事件,对各节点实例构成的画面进行缩放和/或以所述中心节点实例为中心旋转。
可选地,在第一方面的第八种可能的实现方式中,所述得到动态内容资源之后,还包括:
将所述动态内容资源导出为动态壁纸和/或视频。
为达上述目的,本申请第二方面实施例提出了一种动态图像的处理装置,所述装置包括:
获取模块,用于获取动态图像,并加载多个节点实例;
确定模块,用于根据所述多个节点实例的位置,确定各节点实例对应的动态图像;
展示模块,用于通过各节点实例展示对应的动态图像的一帧;
侦听模块,用于侦听显示屏的刷新事件,并根据所述刷新事件,对各节点实例展示的动态图像进行帧切换,以生成动态内容资源。
可选地,在第二方面的第一种可能的实现方式中,所述装置,还包括:
更新模块,用于每当侦听到所述刷新事件,执行公共父类中的位置更新逻辑,以调用公共父类的子类;根据所述子类指示的更新策略,更新各节点实例的位置;其中,所述公共父类的位置更新逻辑,用于根据各节点实例的当前位置,调用所述子类,以获取各节点实例更新后的位置。
可选地,在第二方面的第二种可能的实现方式中,所述更新策略,用于指示各节点实例的移动距离和移动方向,和/或,用于指示各节点实例的旋转角度和旋转方向。
可选地,在第二方面的第三种可能的实现方式中,所述更新策略是响应于用户操作选定的。
可选地,在第二方面的第四种可能的实现方式中,所述侦听模块,具体用于:
读取所述动态图像,得到所述动态图像中的各帧的图像内容以及展示时长;
每当侦听到一个刷新事件,查询当前展示的一帧是否达到所述展示时长;
若达到所述展示时长,通知展示所述一帧的节点实例切换展示下一帧。
可选地,在第二方面的第五种可能的实现方式中,所述多个节点实例为阵列排布,所述确定模块,具体用于:
依据设定的排布策略,确定处于各位置的节点实例对应的动态图像;
其中,所述排布策略包括:属于相邻行的节点实例对应不同的动态图像;同一行中相邻列的节点实例对应不同的动态图像。
可选地,在第二方面的第六种可能的实现方式中,所述获取模块,具体用于:
在背景中,采用阵列排布方式加载与所述屏幕尺寸匹配的多个节点实例;
其中,所述阵列中,相邻列的节点实例行对齐或者错开,或者,相邻行的节点实例列对齐或者错开。
可选地,在第二方面的第七种可能的实现方式中,所述阵列为奇数行和奇数列,具有位于所述阵列中心的中心节点实例,所述侦听模块,还用于:
侦听手势事件;
响应于所述手势事件,对各节点实例构成的画面进行缩放和/或以所述中心节点实例为中心旋转。
可选地,在第二方面的第八种可能的实现方式中,所述装置,还包括:
导出模块,用于将所述动态内容资源导出为动态壁纸和/或视频。
为达上述目的,本申请第三方面实施例提出了一种电子设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述程序时,实现如第一方面所述的动态图像的处理方法。
为了实现上述目的,本申请第四方面实施例提出了一种计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行时实现如第一方面所述的动态图像的处理方法。
本申请实施例所提供的技术方案可以包含如下的有益效果:
获取动态图像,以及加载多个节点实例,根据多个节点实例的位置,确定各节点实例对应的动态图像,通过各节点实例展示对应的动态图像的一帧,侦听显示屏的刷新事件,并根据刷新事件,对各节点实例展示的动态图像进行帧切换,以得到动态内容资源,根据多个节点实例的位置灵活设置对应的动态图像,并进行动态展示,实现了用户根据需求和喜好对动态图像进行灵活排布和设置,提高了动态图像布局和展示的灵活性,从而可以得到满足用户需求的动态内容资源。
本申请附加的方面和优点将在下面的描述中部分给出,部分将从下面的描述中变得明显,或通过本申请的实践了解到。
附图说明
本申请上述的和/或附加的方面和优点从下面结合附图对实施例的描述中将变得明显和容易理解,其中:
图1为本申请实施例所提供的一种动态图像的处理方法的流程示意图;
图2为本申请实施例所提供的节点实例陈列排布方式示意图之一;
图3为本申请实施例所提供的节点实例陈列排布方式示意图之二;
图4为本申请实施例所提供的节点实例陈列排布方式示意图之三;
图5为本申请实施例所提供的另一种动态图像的处理方法的流程示意图;以及
图6为本申请实施例提供的一种动态图像的处理装置的结构示意图。
具体实施方式
下面详细描述本申请的实施例,所述实施例的示例在附图中示出,其中自始至终相同或类似的标号表示相同或类似的元件或具有相同或类似功能的元件。下面通过参考附图描述的实施例是示例性的,旨在用于解释本申请,而不能理解为对本申请的限制。
下面参考附图描述本申请实施例的动态图像的处理方法、装置、和电子设备。
图1为本申请实施例所提供的一种动态图像的处理方法的流程示意图。
如图1所示,该方法包括以下步骤:
步骤101,获取动态图像,并加载多个节点实例。
其中,动态图像包含要展示的多帧图像,获取到的动态图片可以是基于用户的操作选定的,从而满足用户对要展示内容的设计需求,提高了展示内容设定的灵活性。
其中,节点实例,是用于在电子设备的屏幕上进行显示的,并具有设定大小的一个显示区域,同时,多个节点实例采用阵列排布方式排布,阵列排布的尺寸是由包含的节点实例的数量和节点实例的尺寸确定的,从而阵列所对应的尺寸和显示屏的尺寸具有对应关系。
本实施例中,加载多个节点实例,具体为,在背景中,采用阵列排布方式加载与屏幕尺寸匹配的多个节点实例,列阵的行数和列数可以是预先确定的,例如,阵列为41*21,其中,阵列中,相邻列的节点实例行对齐或者错开,或者,相邻行的节点实例列对齐或者错开。
图2为本申请实施例所提供的节点实例陈列排布方式示意图之一,如图2所示,该阵列中,每一个狗的头像展示的位置即对应一个节点实例,从图2中可以看出,相邻行的节点实例是错开的,此时,相邻列的节点实例也是错开的。
图3为本申请实施例所提供的节点实例陈列排布方式示意图之二,如图3所示,该阵列中,每一个图像展示的位置即对应一个节点实例,从图3中可以看出,相邻行的节点实例是对齐的,此时,相邻列的节点实例也是对齐的。
图4为本申请实施例所提供的节点实例陈列排布方式示意图之三,如图4所示,该阵列中,每一个图像展示的位置即对应一个节点实例,节点实例的排布位置是随机排布的。
需要说明的是,图2-图4只是示出了节点实例的阵列排布方式的三种可能的实现方式,本领域技术人员可以根据实际需要确定其他阵列排布方式,本实施例中不作限定。
还需要理解的是,本实施例中的多个节点实例的阵列排布,可以是用户从预先设定好的多个阵列排布中选择确定的,也可以是用户根据自己的需求根据获取到的多个节点实例进行灵活排布的,本实施例中不进行限定,以实现根据用户的喜好,灵活排布多个节点实例,从而实现对获取的动态图像进行灵活排布和展示的需求,提高了用户的满意度和用户对产品的粘度。
步骤102,根据多个节点实例的位置,确定各节点实例对应的动态图像。
本实施例中获取到的动态图像可以为一个,也可以为多个,节点实例为阵列排布,动态图像的数量不同,阵列排布中对应的排布策略则不同,而排布策略也可以是基于用户操作选择确定的,以更好的满足用户自己设计DIY的需求。
在一种场景下,动态图像为一个,依据设定的排布策略,确定处于各位置的节点实例对应的动态图像,其中,排布策略包括:阵列中每一个节点实例对应相同的动态图像。
如图2所示,由于用户仅选择了一个动态图像,即狗的动态图像,因此,在阵列中每一个节点实例对应的动态图像则为同一个。
在另一种场景下,动态图像为多个,依据设定的排布策略,确定处于各位置的节点实例对应的动态图像,其中,排布策略包括:属于相邻行的节点实例对应不同的动态图像,同一行中相邻列的节点实例对应不同的动态图像。
如图3所示,获取到的动态图像为6个,设定的排布策略为:
1)第一行显示编号为1和2的两个动态图像,其中,第一行的奇数列显示编号1对应的动态图像,第一行的偶数列显示编号2对应的动态图像;
2)第二行显示编号为3和4的两个动态图像,其中,第二行的奇数列显示编号3对应的动态图像,第二行的偶数列显示编号4对应的动态图像;
3)第三行显示编号为5和6的两个动态图像,其中,第三行的奇数列显示编号5对应的动态图像,第三行的偶数列显示编号6对应的动态图像。
4)依照图3所示,依次类推,此处不再一一赘述。
步骤103,通过各节点实例展示对应的动态图像的一帧。
具体地,确定了各节点实例对应的动态图像后,将动态图像通过各节点实例进行展示,也就是说在将各动态图像加载至屏幕上各节点实例的位置上进行展示,由于各节点实例展示的动态图像中包含多帧图像,则依据各帧图像的展示顺序,顺序展示对应的动态图像的一帧的图像内容。
步骤104,侦听显示屏的刷新事件,并根据刷新事件,对各节点实例展示的动态图像进行帧切换,以得到动态内容资源。
具体地,读取动态图像,得到动态图像中各帧图像的图像内容和对应的展示时长,监听电子设备的显示屏的刷新事件,例如,智能手机的显示屏每秒刷新60帧,每次监听到显示屏的刷新事件,查询当前展示的一帧是否达到展示时长,若达到展示时长,通知展示的该帧图像的节点实例切换展示下一帧图像,从而得到动态内容资源,从而得到满足用户需求的动态资源内容。
本实施例的动态图像的处理方法中,获取动态图像,以及加载多个节点实例,根据多个节点实例的位置,确定各节点实例对应的动态图像,通过各节点实例展示对应的动态图像的一帧,侦听显示屏的刷新事件,并根据刷新事件,对各节点实例展示的动态图像进行帧切换,以得到动态内容资源,根据多个节点实例的位置灵活设置对应的动态图像,并进行动态展示,实现了用户根据需求和喜好对动态图像进行灵活排布和设置,提高了动态图像布局和展示的灵活性,从而可以得到满足用户需求的动态内容资源。
图5为本申请实施例所提供的另一种动态图像的处理方法的流程示意图。基于上一实施例,本实施例提供了另一种动态图像的处理方法的可能的实现方式,本实施例中,预先建立了一个公共父类,其中预先建立的公共父类中包含多个业务逻辑和位置更新逻辑,为了便于区别,可根据实际需求将多个业务逻辑分别称为第一业务逻辑、第二业务逻辑、第三业务逻辑和第四业务逻辑等,本实施例中会具体说明,而本领域技术人员根据需要还可以划分更多的业务逻辑。如图5所示,该方法可以包括以下步骤:
步骤501,获取动态图像,并加载多个节点实例。
步骤502,根据多个节点实例的位置,确定各节点实例对应的动态图像。其中,第一业务逻辑,用于执行加载多个节点实例,根据多个节点实例的位置,确定各节点实例对应的动态图像,即对应本实施例中的步骤501-502。
其中,对于步骤501和步骤502的说明,具体可以参照图1实施例中的步骤101-102,原理相同,此处不再赘述。
步骤503,通过各节点实例展示对应的动态图像的一帧。
其中,第二业务逻辑,用于执行通过各节点实例展示对应的动态图像的一帧的步骤。
其中,关于步骤503的说明,具体可以参照图1对应实施例中的步骤103,原理相同,此处不再赘述。
步骤504,侦听手势事件。
其中,手势事件为用户缩放屏幕或者选择屏幕的手势事件。
步骤505,响应于手势事件,对各节点实例构成的画面进行缩放和/或以中心节点实例为中心旋转。
本实施例中,用于加载各节点实例的阵列为奇数行和奇数列,从而可以确定位于阵列中心的中心节点实例,中心节点实例的行数为节点总实例行数/2(省略小数点)+1,中心节点实例的列数为节点实例总列数/2(省略小数点)+1。
具体地,响应侦听到的手势事件,也就是说当用户执行缩放操作,则对各节点实例构成的画面对应进行缩放操作,其中,缩放比例可以是基于屏幕大小确定的,例如,画面的最大缩放比例为屏幕大小的6倍,最小缩放比例为屏幕大小的0.5倍。当用户执行旋转操作,则可以以确定的中心节点实例为中心进行旋转,以满足用户的选择和缩放需求。需要说明的是,步骤504和505执行的步骤,即为公共父类中的第三业务逻辑。
步骤506,侦听显示屏的刷新事件,并根据刷新事件,对各节点实例展示的动态图像进行帧切换。
第四业务逻辑,用于执行侦听显示屏的刷新事件,并根据刷新事件,对各节点实例加载的动态图像进行帧切换的步骤,即对应本实施例中的步骤506。
需要说明的是,在每次侦听到显示屏的刷新事件后,均执行公共父类中的第四业务逻辑。具体地,步骤506具体可以参照上一实施例中的步骤104,原理相同,此处不再赘述。
步骤507,每当侦听到刷新事件,执行公共父类中的位置更新逻辑,以调用公共父类的子类。
本实施例中,公共父类还包含位置更新逻辑,即每当侦听到刷新事件,除了执行上述步骤中的公共父类中的第四业务逻辑,还会执行公共父类中的位置更新逻辑,而位置更新逻辑的实现是通过调用公共父类的子类实现的,子类中包含了各节点实例位置更新的策略。
具体地,每当侦听到显示屏的刷新事件,还需要对各节点实例的位置进行更新,即执行公共父类中的位置更新逻辑,其中,公共父类的位置更新逻辑,用于根据各节点实例的当前位置,判断各节点实例的当前位置是否需要更新,需要更新则调用子类,以获取各节点实例更新后的位置。
步骤508,根据子类指示的更新策略,更新各节点实例的位置,以生成动态内容资源。
其中,更新策略,用于指示各节点实例的移动距离和移动方向,和/或,用于指示各节点实例的旋转角度和旋转方向。而更新策略是响应用户操作选定的,也就是预先设定的多重更新策略,用户可以基于自身的喜好和需求,灵活选择更新策略,实现了用户的DIY设计,提高了动态布局的灵活性。
例如,节点实例A,当前的位置为(x,y),自身旋转角度为θ,节点实例A在屏幕上的位置可以设置到实际屏幕以外,在屏幕刷新后,调用公共父类的子类,公共父类的子类中指示的更新策略为,节点实例A的横坐标的移动距离加1cm,移动方向为向右,自身旋转角度加5度,旋转方向为向右,即更新后的节点实例位置为(x+1,y),旋转角度为θ+5,也就是说通过显示屏的不断刷新,节点实例A的显示效果为不断的向屏幕右侧移动,并且自身向右旋转,由于节点实例A在屏幕上显示的位置可以设置到实际屏幕以外,从而节点实例A在屏幕上向右不断的旋转移动时,可以实现逐渐进入屏幕的效果,增加了逼真性,实现了节点实例的动态移动效果,提高了动态展示效果。
步骤509,将动态内容资源导出为动态壁纸和/或视频。
具体地,将上述步骤中得到的动态内容资源导出为动态壁纸和/或视频,则生成了基于用户需求和用户自己的选择设计的动态壁纸和/或视频,该动态壁纸和/或视频可以在用户的电子设备的显示屏上进行展示,提高了用户的满意度。
本实施例的动态图像的处理方法中,获取动态图像,以及加载多个节点实例,根据多个节点实例的位置,确定各节点实例对应的动态图像,通过各节点实例展示对应的动态图像的一帧,侦听显示屏的刷新事件,并根据刷新事件,对各节点实例展示的动态图像进行帧切换,以得到动态内容资源,根据多个节点实例的位置灵活设置对应的动态图像,并进行动态展示,实现了用户根据需求和喜好对动态图像进行灵活排布和设置,提高了动态图像布局和展示的灵活性,从而可以得到满足用户需求的动态内容资源,而通过在每次屏幕刷新时,对各个节点智利的位置进行更新,实现了各节点实例展示的动态图像的移动的动态效果,提高了动态布局的效果。
为了实现上述实施例,本申请还提出一种动态图像的处理装置。
图6为本申请实施例提供的一种动态图像的处理装置的结构示意图。
如图6所示,该装置包括:获取模块71、确定模块72、展示模块73和侦听模块74。
获取模块71,用于获取动态图像,并加载多个节点实例。
确定模块72,用于根据多个节点实例的位置,确定各节点实例对应的动态图像。
展示模块73,用于通过各节点实例展示对应的动态图像的一帧。
侦听模块74,用于侦听显示屏的刷新事件,并根据刷新事件,对各节点实例展示的动态图像进行帧切换,以生成动态内容资源。
进一步地,在本申请实施例的一种可能的实现方式中,该装置,还包括:更新模块和导出模块。
更新模块,用于每当侦听到所述刷新事件,执行公共父类中的位置更新逻辑,以调用公共父类的子类;根据所述子类指示的更新策略,更新各节点实例的位置;其中,所述公共父类的位置更新逻辑,用于根据各节点实例的当前位置,调用所述子类,以获取各节点实例更新后的位置。
导出模块,用于将所述动态内容资源导出为动态壁纸和/或视频。
作为一种可能的实现方式,更新策略,用于指示各节点实例的移动距离和移动方向,和/或,用于指示各节点实例的旋转角度和旋转方向。
作为一种可能的实现方式,更新策略是响应于用户操作选定的。
作为一种可能的实现方式,上述侦听模块74,具体用于:
读取动态图像,得到动态图像中的各帧的图像内容以及展示时长,每当侦听到一个刷新事件,查询当前展示的一帧是否达到所述展示时长,若达到所述展示时长,通知展示所述一帧的节点实例切换展示下一帧。
作为一种可能的实现方式,多个节点实例为阵列排布,上述确定模块72,具体用于:
依据设定的排布策略,确定处于各位置的节点实例对应的动态图像;其中,所述排布策略包括:属于相邻行的节点实例对应不同的动态图像;同一行中相邻列的节点实例对应不同的动态图像。
作为一种可能的实现方式,上述获取模块71,具体用于:
在背景中,采用阵列排布方式加载与所述屏幕尺寸匹配的多个节点实例,其中,所述阵列中,相邻列的节点实例行对齐或者错开,或者,相邻行的节点实例列对齐或者错开。
作为一种可能的实现方式,阵列为奇数行和奇数列,具有位于所述阵列中心的中心节点实例,上述侦听模块74,还用于:
侦听手势事件,响应于所述手势事件,对各节点实例构成的画面进行缩放和/或以所述中心节点实例为中心旋转。
需要说明的是,前述对动态图像的处理方法实施例的解释说明也适用于该实施例的动态图像的处理装置,原理相同,此处不再赘述。
本实施例的动态图像的处理装置中,获取动态图像,以及加载多个节点实例,根据多个节点实例的位置,确定各节点实例对应的动态图像,通过各节点实例展示对应的动态图像的一帧,侦听显示屏的刷新事件,并根据刷新事件,对各节点实例展示的动态图像进行帧切换,以得到动态内容资源,根据多个节点实例的位置灵活设置对应的动态图像,并进行动态展示,实现了用户根据需求和喜好对动态图像进行灵活排布和设置,提高了动态图像布局和展示的灵活性,从而可以得到满足用户需求的动态内容资源。
为了实现上述实施例,本申请还提出一种电子设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述程序时,实现如前述方法实施例所述的动态图像的处理方法。
为了实现上述实施例,本申请还提出一种计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行时实现如前述方法实施例所述的动态图像的处理方法。
在本说明书的描述中,参考术语“一个实施例”、“一些实施例”、“示例”、“具体示例”、或“一些示例”等的描述意指结合该实施例或示例描述的具体特征、结构、材料或者特点包含于本申请的至少一个实施例或示例中。在本说明书中,对上述术语的示意性表述不必须针对的是相同的实施例或示例。而且,描述的具体特征、结构、材料或者特点可以在任一个或多个实施例或示例中以合适的方式结合。此外,在不相互矛盾的情况下,本领域的技术人员可以将本说明书中描述的不同实施例或示例以及不同实施例或示例的特征进行结合和组合。
此外,术语“第一”、“第二”仅用于描述目的,而不能理解为指示或暗示相对重要性或者隐含指明所指示的技术特征的数量。由此,限定有“第一”、“第二”的特征可以明示或者隐含地包括至少一个该特征。在本申请的描述中,“多个”的含义是至少两个,例如两个,三个等,除非另有明确具体的限定。
流程图中或在此以其他方式描述的任何过程或方法描述可以被理解为,表示包括一个或更多个用于实现定制逻辑功能或过程的步骤的可执行指令的代码的模块、片段或部分,并且本申请的优选实施方式的范围包括另外的实现,其中可以不按所示出或讨论的顺序,包括根据所涉及的功能按基本同时的方式或按相反的顺序,来执行功能,这应被本申请的实施例所属技术领域的技术人员所理解。
在流程图中表示或在此以其他方式描述的逻辑和/或步骤,例如,可以被认为是用于实现逻辑功能的可执行指令的定序列表,可以具体实现在任何计算机可读介质中,以供指令执行系统、装置或设备(如基于计算机的系统、包括处理器的系统或其他可以从指令执行系统、装置或设备取指令并执行指令的系统)使用,或结合这些指令执行系统、装置或设备而使用。就本说明书而言,"计算机可读介质"可以是任何可以包含、存储、通信、传播或传输程序以供指令执行系统、装置或设备或结合这些指令执行系统、装置或设备而使用的装置。计算机可读介质的更具体的示例(非穷尽性列表)包括以下:具有一个或多个布线的电连接部(电子装置),便携式计算机盘盒(磁装置),随机存取存储器(RAM),只读存储器(ROM),可擦除可编辑只读存储器(EPROM或闪速存储器),光纤装置,以及便携式光盘只读存储器(CDROM)。另外,计算机可读介质甚至可以是可在其上打印所述程序的纸或其他合适的介质,因为可以例如通过对纸或其他介质进行光学扫描,接着进行编辑、解译或必要时以其他合适方式进行处理来以电子方式获得所述程序,然后将其存储在计算机存储器中。
应当理解,本申请的各部分可以用硬件、软件、固件或它们的组合来实现。在上述实施方式中,多个步骤或方法可以用存储在存储器中且由合适的指令执行系统执行的软件或固件来实现。如,如果用硬件来实现和在另一实施方式中一样,可用本领域公知的下列技术中的任一项或他们的组合来实现:具有用于对数据信号实现逻辑功能的逻辑门电路的离散逻辑电路,具有合适的组合逻辑门电路的专用集成电路,可编程门阵列(PGA),现场可编程门阵列(FPGA)等。
本技术领域的普通技术人员可以理解实现上述实施例方法携带的全部或部分步骤是可以通过程序来指令相关的硬件完成,所述的程序可以存储于一种计算机可读存储介质中,该程序在执行时,包括方法实施例的步骤之一或其组合。
此外,在本申请各个实施例中的各功能单元可以集成在一个处理模块中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个模块中。上述集成的模块既可以采用硬件的形式实现,也可以采用软件功能模块的形式实现。所述集成的模块如果以软件功能模块的形式实现并作为独立的产品销售或使用时,也可以存储在一个计算机可读取存储介质中。
上述提到的存储介质可以是只读存储器,磁盘或光盘等。尽管上面已经示出和描述了本申请的实施例,可以理解的是,上述实施例是示例性的,不能理解为对本申请的限制,本领域的普通技术人员在本申请的范围内可以对上述实施例进行变化、修改、替换和变型。
Claims (12)
1.一种动态图像的处理方法,其特征在于,所述方法包括:
获取动态图像,并加载多个节点实例,其中,所述节点实例为在屏幕上进行显示,且具有设定大小的一个显示区域,所述加载多个节点实例,包括:
在背景中,采用阵列排布方式加载与所述屏幕尺寸匹配的多个节点实例;
其中,所述阵列中,相邻列的节点实例行对齐或者错开,或者,相邻行的节点实例列对齐或者错开,其中,阵列排布的尺寸是由包含的节点实例的数量和节点实例的尺寸确定的;
根据所述多个节点实例的位置,确定各节点实例对应的动态图像;
通过各节点实例展示对应的动态图像的一帧;
侦听显示屏的刷新事件,并根据所述刷新事件,对各节点实例展示的动态图像进行帧切换,以得到动态内容资源;
所述侦听显示屏的刷新事件之后,还包括:
每当侦听到所述刷新事件,执行公共父类中的位置更新逻辑,以调用公共父类的子类;
根据所述子类指示的更新策略,更新各节点实例的位置;
其中,所述公共父类的位置更新逻辑,用于根据各节点实例的当前位置,调用所述子类,以获取各节点实例更新后的位置;
所述更新策略,用于指示各节点实例的移动距离和移动方向,和/或,用于指示各节点实例的旋转角度和旋转方向;
所述根据所述刷新事件,对各节点实例展示的动态图像进行帧切换,包括:
读取所述动态图像,得到所述动态图像中的各帧的图像内容以及展示时长;
每当侦听到一个刷新事件,查询当前展示的一帧是否达到所述展示时长;
若达到所述展示时长,通知展示所述一帧的节点实例切换展示下一帧。
2.根据权利要求1所述的处理方法,其特征在于,所述更新策略是响应于用户操作选定的。
3.根据权利要求1-2任一项所述的动态图像的处理方法,其特征在于,所述多个节点实例为阵列排布,所述根据所述多个节点实例的位置,确定各节点实例对应的动态图像,包括:
依据设定的排布策略,确定处于各位置的节点实例对应的动态图像;
其中,所述排布策略包括:属于相邻行的节点实例对应不同的动态图像;同一行中相邻列的节点实例对应不同的动态图像。
4.根据权利要求1所述的动态图像的处理方法,其特征在于,所述阵列为奇数行和奇数列,具有位于所述阵列中心的中心节点实例,所述通过各节点实例展示对应的动态图像的一帧之后,还包括:
侦听手势事件;
响应于所述手势事件,对各节点实例构成的画面进行缩放和/或以所述中心节点实例为中心旋转。
5.根据权利要求1所述的动态图像的处理方法,其特征在于,所述得到动态内容资源之后,还包括:
将所述动态内容资源导出为动态壁纸和/或视频。
6.一种动态图像的处理装置,其特征在于,所述装置包括:
获取模块,用于获取动态图像,并加载多个节点实例,其中,所述节点实例为在屏幕上进行显示,且具有设定大小的一个显示区域;
确定模块,用于根据所述多个节点实例的位置,确定各节点实例对应的动态图像;
展示模块,用于通过各节点实例展示对应的动态图像的一帧;
侦听模块,用于侦听显示屏的刷新事件,并根据所述刷新事件,对各节点实例展示的动态图像进行帧切换,以生成动态内容资源;
更新模块,用于每当侦听到所述刷新事件,执行公共父类中的位置更新逻辑,以调用公共父类的子类;根据所述子类指示的更新策略,更新各节点实例的位置;其中,所述公共父类的位置更新逻辑,用于根据各节点实例的当前位置,调用所述子类,以获取各节点实例更新后的位置;所述更新策略,用于指示各节点实例的移动距离和移动方向,和/或,用于指示各节点实例的旋转角度和旋转方向;
所述侦听模块,具体用于:
读取所述动态图像,得到所述动态图像中的各帧的图像内容以及展示时长;
每当侦听到一个刷新事件,查询当前展示的一帧是否达到所述展示时长;
若达到所述展示时长,通知展示所述一帧的节点实例切换展示下一帧;
所述获取模块,具体用于:
在背景中,采用阵列排布方式加载与所述屏幕尺寸匹配的多个节点实例;
其中,所述阵列中,相邻列的节点实例行对齐或者错开,或者,相邻行的节点实例列对齐或者错开,其中,阵列排布的尺寸是由包含的节点实例的数量和节点实例的尺寸确定的。
7.根据权利要求6所述的处理装置,其特征在于,所述更新策略是响应于用户操作选定的。
8.根据权利要求6-7任一项所述的动态图像的处理装置,其特征在于,所述多个节点实例为阵列排布,所述确定模块,具体用于:
依据设定的排布策略,确定处于各位置的节点实例对应的动态图像;
其中,所述排布策略包括:属于相邻行的节点实例对应不同的动态图像;同一行中相邻列的节点实例对应不同的动态图像。
9.根据权利要求6所述的动态图像的处理装置,其特征在于,所述阵列为奇数行和奇数列,具有位于所述阵列中心的中心节点实例,所述侦听模块,还用于:
侦听手势事件;
响应于所述手势事件,对各节点实例构成的画面进行缩放和/或以所述中心节点实例为中心旋转。
10.根据权利要求6所述的动态图像的处理装置,其特征在于,所述装置,还包括:
导出模块,用于将所述动态内容资源导出为动态壁纸和/或视频。
11.一种电子设备,其特征在于,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述程序时,实现如权利要求1-5中任一所述的动态图像的处理方法。
12.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,该程序被处理器执行时实现如权利要求1-5中任一所述的动态图像的处理方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910944505.6A CN110706321B (zh) | 2019-09-30 | 2019-09-30 | 动态图像的处理方法、装置、和电子设备 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910944505.6A CN110706321B (zh) | 2019-09-30 | 2019-09-30 | 动态图像的处理方法、装置、和电子设备 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN110706321A CN110706321A (zh) | 2020-01-17 |
CN110706321B true CN110706321B (zh) | 2024-02-09 |
Family
ID=69198222
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201910944505.6A Active CN110706321B (zh) | 2019-09-30 | 2019-09-30 | 动态图像的处理方法、装置、和电子设备 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN110706321B (zh) |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101777335A (zh) * | 2010-01-28 | 2010-07-14 | 俞蔚明 | 一种面向多动态图像的定位辨识显示方法 |
CN102842142A (zh) * | 2011-06-23 | 2012-12-26 | 汉王科技股份有限公司 | 文档中动态图片的显示方法及装置 |
JP2013098816A (ja) * | 2011-11-02 | 2013-05-20 | Dainippon Printing Co Ltd | 動画提示装置 |
CN108228816A (zh) * | 2017-12-29 | 2018-06-29 | 北京奇虎科技有限公司 | 一种瀑布流图片的加载方法和装置 |
CN109672776A (zh) * | 2017-10-16 | 2019-04-23 | 华为技术有限公司 | 显示动态图像的方法及终端 |
-
2019
- 2019-09-30 CN CN201910944505.6A patent/CN110706321B/zh active Active
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101777335A (zh) * | 2010-01-28 | 2010-07-14 | 俞蔚明 | 一种面向多动态图像的定位辨识显示方法 |
CN102842142A (zh) * | 2011-06-23 | 2012-12-26 | 汉王科技股份有限公司 | 文档中动态图片的显示方法及装置 |
JP2013098816A (ja) * | 2011-11-02 | 2013-05-20 | Dainippon Printing Co Ltd | 動画提示装置 |
CN109672776A (zh) * | 2017-10-16 | 2019-04-23 | 华为技术有限公司 | 显示动态图像的方法及终端 |
CN108228816A (zh) * | 2017-12-29 | 2018-06-29 | 北京奇虎科技有限公司 | 一种瀑布流图片的加载方法和装置 |
Also Published As
Publication number | Publication date |
---|---|
CN110706321A (zh) | 2020-01-17 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN111866423B (zh) | 用于电子终端的录屏方法及相应设备 | |
CN101420534B (zh) | 多画面显示方法和装置 | |
CN106331877A (zh) | 弹幕播放方法及装置 | |
CN108810648A (zh) | 一种进行图像处理的方法及终端 | |
CN108140401B (zh) | 访问视频片段 | |
CN110365918A (zh) | 一种信源切换方法及设备 | |
US8756535B2 (en) | Simultaneous screen saver operations | |
CN110706321B (zh) | 动态图像的处理方法、装置、和电子设备 | |
CN110647378A (zh) | 动态图像的加载方法、装置和电子设备 | |
CN113259742B (zh) | 视频弹幕显示方法、装置、可读存储介质和计算机设备 | |
CN113316018A (zh) | 时间信息在视频画面显示的叠加方法、设备及存储介质 | |
CN114866837B (zh) | 视频处理方法、装置、计算机设备和存储介质 | |
CN109104627B (zh) | 安卓电视的焦点背景生成方法、存储介质、设备及系统 | |
CN114222074B (zh) | 拼接屏驱动方法、装置、服务器及存储介质 | |
CN109062525A (zh) | 拼接显示系统的数据处理方法、装置和计算机设备 | |
CN107111982A (zh) | 图像显示方法及装置 | |
CN111221444A (zh) | 分屏特效处理方法、装置、电子设备和存储介质 | |
CN111913635B (zh) | 三维全景图片显示方法、装置、移动终端及存储介质 | |
CN114385062A (zh) | 展示方案的切换方法、装置、可读存储介质和电子设备 | |
US9723216B2 (en) | Method and system for generating an image including optically zoomed and digitally zoomed regions | |
CN113805465A (zh) | 智能手表的表盘时间显示方法、系统、设备及存储介质 | |
CN112702642A (zh) | 媒体预览方法、装置、系统和计算机可读存储介质 | |
CN107145313A (zh) | 图像显示方法及装置 | |
US20130227497A1 (en) | Apparatus and method for generating standby screen | |
US7966361B1 (en) | Single-cycle modulus operation |
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 |