CN112614211B - 用于文本、图像自适应排版及动画联动的方法及装置 - Google Patents
用于文本、图像自适应排版及动画联动的方法及装置 Download PDFInfo
- Publication number
- CN112614211B CN112614211B CN202011596911.7A CN202011596911A CN112614211B CN 112614211 B CN112614211 B CN 112614211B CN 202011596911 A CN202011596911 A CN 202011596911A CN 112614211 B CN112614211 B CN 112614211B
- Authority
- CN
- China
- Prior art keywords
- text
- animation
- region
- width
- height
- 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
- 238000000034 method Methods 0.000 title claims abstract description 51
- 230000000694 effects Effects 0.000 claims abstract description 34
- 238000009877 rendering Methods 0.000 claims abstract description 29
- 238000012545 processing Methods 0.000 claims abstract description 21
- 230000008859 change Effects 0.000 claims abstract description 17
- 239000003086 colorant Substances 0.000 claims abstract description 12
- 230000008569 process Effects 0.000 claims description 13
- 230000003044 adaptive effect Effects 0.000 claims description 10
- 230000004048 modification Effects 0.000 claims description 9
- 238000012986 modification Methods 0.000 claims description 9
- 230000000750 progressive effect Effects 0.000 claims description 6
- 238000013515 script Methods 0.000 abstract description 6
- 230000003068 static effect Effects 0.000 abstract description 4
- 238000010586 diagram Methods 0.000 description 13
- 238000004590 computer program Methods 0.000 description 10
- 230000006870 function Effects 0.000 description 6
- 238000004364 calculation method Methods 0.000 description 3
- 230000033001 locomotion Effects 0.000 description 3
- 238000004519 manufacturing process Methods 0.000 description 3
- 239000003973 paint Substances 0.000 description 3
- 238000013519 translation Methods 0.000 description 3
- 230000000007 visual effect Effects 0.000 description 3
- 230000006978 adaptation Effects 0.000 description 2
- 238000006243 chemical reaction Methods 0.000 description 2
- 238000009795 derivation Methods 0.000 description 2
- 238000013461 design Methods 0.000 description 2
- 238000005516 engineering process Methods 0.000 description 2
- 230000009466 transformation Effects 0.000 description 2
- 230000009286 beneficial effect Effects 0.000 description 1
- 230000005540 biological transmission Effects 0.000 description 1
- 238000007796 conventional method Methods 0.000 description 1
- 238000011549 displacement method Methods 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 230000002093 peripheral effect Effects 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
- 238000011426 transformation method Methods 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T13/00—Animation
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F40/00—Handling natural language data
- G06F40/10—Text processing
- G06F40/189—Automatic justification
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T11/00—2D [Two Dimensional] image generation
- G06T11/60—Editing figures and text; Combining figures or text
-
- 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
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Health & Medical Sciences (AREA)
- Artificial Intelligence (AREA)
- Audiology, Speech & Language Pathology (AREA)
- Computational Linguistics (AREA)
- General Health & Medical Sciences (AREA)
- General Engineering & Computer Science (AREA)
- Processing Or Creating Images (AREA)
Abstract
本发明涉及一种用于文本、图像自适应排版及动画联动的方法及装置,包括获取文字动画,根据文字特性计算文字动画的高度和宽度,得到文本动画的宽高比例;确定所述文字动画在预设的模板背景中的尺寸和位置,并根据文字动画在模板背景中的尺寸、位置以及预设参数计算文本区域和图形区域的尺寸和位置;对文本区域和图形区域进行渲染;联动变化处理后输出具有整体联动效果的视频。本发明通过预设图文排版及根据不同文本长短的自适应布局规则,实现完美的静态排版,并支持后期各模块颜色、字体等属性的调节;同时对各个图形、文本模块,编写动画脚本,控制完整、灵动的动画流程,支持以各种格式导出或直接添加到移动端视频上进行视频创作效果的增强。
Description
技术领域
本发明属于视频处理技术领域,具体涉及一种用于文本、图像自适应排版及动画联动的方法及装置。
模板背景技术
随着用户自制的移动视频平台兴起,越来越多视频制作者尝试在移动端直接剪辑制作复杂视频,其中对文字和图形动画的制作需求也在日益提高。现有的绝大多数视频编辑工具,仅能支持基础的文字动画变换,如对字符串进行基础的进出场、抖动等动画控制,这类动画效果通常仅能整体性作用于一个字符串,效果较为单调,无法满足用户更多的进阶文字动画创作需求,特别是无法将文字和文字模板背景进行联合控制,编排复杂的动画脚本,并根据用户实际输入的字符串长度进行自适应排版,这类典型的效果包括多种,如:1,制作动态标注动画,来增强视频中的重点信息的传达;2,制作文本引用动画,来优化文本段落展示;3,制作电商促销动态标签,吸引用户对打折信息关注;4,制作类报道视频的动态标题,来增强视频专业感;5,制作动态社媒标签,在视频中吸引用户主动关注/订阅账号。上述方案均需要针对多模块的文本和模板背景图形进行联合动画脚本编排,同时根据用户输入文本的长度进行智能适配和模板背景变形,当前移动端没有任何工具可以实现这项需求,用户只能在PC端上先通过制图软件,制作出动画所需的图形,根据文本长短进行排版布局,然后使用电脑端的一些特效后期制作软件进行逐帧复杂的编辑和排版,而制作完成后,如果要变更文本长短,则需要将动画的图形重新根据文本长度制作一遍,再进行动画编辑,操作过程繁琐复杂,十分不便。
相关技术中,当前市场上移动端针对文字的动画编辑,主要是基于Android的线性变换和位移方法,例如scale、translation、rotation、skew等或iOS的animateto属性,进行简单的做缩放、平移、旋转和错切,编写文字动画的简单控制,包括针对字符串整体的平移轨迹、旋转、速度变化、大小变化等基础动画的直接控制或组合控制,也有将文字和文字模板背景图片结合起来,将它们转成一张图片进行动画控制的。
上述方案存在以下问题:
1,都是针对单文本模块进行单一动画控制,无法满足用户不同文本模块,不同模块间字体、字号大小不同的高级排版需求,动画单调,要进行多文本模块的联合排版及动画编排的话,则需要逐个动画手动排版和编辑时间线,使用成本极高;
2,多数不能结合文字模板背景图片进行动画编排,少数含有图片模板背景的文字动画方案,在进行文本排版适配时,文本变长、变短,会导致字号、文字间距的变化,无法做到在字号和文字间距固定的情况下,进行模板背景的自适应调整。因此当用户输入的文本长度和原设计差异较大时,排版布局极其丑陋;
3,含有模板背景图片的多模块复杂文本,市场上现有的方案通常是将排版好的文本转化成一张图片,然后针对图片进行整体的动画控制,而无法针对该排版中不同模块进行模块间独立的动画控制,导致动画效果单调、呆板。
发明内容
有鉴于此,本发明的目的在于克服现有技术的不足,提供一种用于文本、图像自适应排版及动画联动的方法及装置,以解决现有技术中无法满足不同文本、不同图片以及动画效果进行排版的问题。
为实现以上目的,本发明采用如下技术方案:一种用于文本、图像自适应排版及动画联动的方法,包括:
获取文字动画,根据文字特性计算文字动画的高度和宽度,得到文本动画的宽高比例;所述文字特性包括:文本内容、文字大小、文字字体、文字描边和文本阴影;
根据预设的模板背景尺寸比例和所述动画宽高比例,确定所述文字动画在预设的模板背景中的尺寸和位置,并根据文字动画在模板背景中的尺寸、位置以及预设参数计算文本区域和图形区域的尺寸和位置;
对确定尺寸和位置的文本区域和图形区域进行渲染并对渲染后得到的文本区域和图形区域进行联动变化处理;
输出具有整体联动效果的视频。
进一步的,在获取文字动画之前,还包括:
预设模板并设置模板背景和模板背景尺寸比例,所述模板背景包括颜色、图片以及动态视频。
进一步的,所述根据文字特性计算文字动画的高度和宽度,得到文本动画的宽高比例,包括:
根据文本区域的最上边界和最下边界,得到文本区域的第一高度以及根据图画区域的最上边界和最下边界,得到图画区域的第二高度,根据所述文本区域和图画区域所需的目的效果通过第一高度和第二高度计算得到文字动画的高度;
对文本区域的文本进行分行,获取每行文本的文本宽度,选择其中最宽的文本宽度为第一宽度以及计算图形的最左边界和最右边界,得到第二宽度;根据所述文本区域和图画区域所需的目的效果通过第一宽度和第二宽度计算得到文字动画的宽度;
根据文字动画的高度和高度,得到文字动画的宽高比例。
进一步的,所述根据预设的模板背景尺寸比例和所述动画宽高比例,确定所述文字动画在预设的模板背景中的尺寸和位置,包括:
如果模板背景尺寸比例的值小于文字动画的宽高比例的值,则将文字动画的宽高中大的一边设置在模板背景的宽高中大的一边;
如果模板背景尺寸比例的值大于文字动画的宽高比例的值,则将文字动画的宽高中大的一边设置在模板背景的宽高中小的一边。
进一步的,所述对确定尺寸和位置的文本区域和图形区域进行渲染,包括:
根据不同的文字块将所述文本区域划分为多个子文本区域,以及根据不同的颜色将图形区域划分为多个子图形区域;
分别对多个所述子文本区域和多个所述图形区域进行渲染。
进一步的,所述分别对多个所述子文本区域和多个所述图形区域进行渲染,包括:
对所述子文本区域中的文字进行文字、字体修改;
对所述子文本区域以及子图形区域进行颜色修改;
对所述子文本区域的文字进行描边和阴影处理。
进一步的,对渲染后得到的文本区域和图形区域进行联动变化处理,包括:
设置所述文本区域和图形区域的动画过程;所述动画过程包括渐入状态、保持状态以及渐出状态。
进一步的,所述设置所述文本区域和图形区域的动画过程,包括:
根据预设时间改变固定帧数的值;
根据改变后的固定帧数计算文本区域中文本的渐入显示数量、图形区域渐入横坐标位置;
根据改变后的固定帧数计算文本区域中文本的渐出显示数量、图形区域渐出横坐标的位置。
本申请实施例提供一种用于文本、图像自适应排版及动画联动的装置,包括:
获取模块,用于获取文字动画,根据文字特性计算文字动画的高度和宽度,得到文本动画的宽高比例;所述文字特性包括:文本内容、文字大小、文字字体、文字描边和文本阴影;
确定模块,用于根据预设的模板背景尺寸比例和所述动画宽高比例,确定所述文字动画在预设的模板背景中的尺寸和位置,并根据文字动画在模板背景中的尺寸、位置以及预设参数计算文本区域和图形区域的尺寸和位置;
渲染模块,用于对确定尺寸和位置的文本区域和图形区域进行渲染并对渲染后得到的文本区域和图形区域进行联动变化处理;
输出模块,用于输出具有整体联动效果的视频。
进一步的,还包括:
预设模块,用于预设模板并设置模板背景和模板背景尺寸比例,所述模板背景包括颜色、图片以及动态视频。
本发明采用以上技术方案,能够达到的有益效果包括:
本发明提供一种用于文本、图像自适应排版及动画联动的方法及装置,本发明通过设定一些预设的图文排版及描述这些图文之间根据不同文本长短的自适应布局规则,实现完美的静态排版,并支持后期各模块颜色、字体等属性的调节;同时对各个图形、文本模块,编写动画脚本,控制完整、灵动的动画流程,并支持以各种格式导出,或直接添加到移动端视频上,进行视频创作效果的增强。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本发明用于文本、图像自适应排版及动画联动的方法的步骤示意图;
图2为本发明用于文本、图像自适应排版及动画联动的方法的流程示意图;
图3为本发明确定最终文本动画高度的第一种方案的结构示意图;
图4为本发明确定最终文本动画高度的第二种方案的结构示意图;
图5为本发明确定最终文本动画高度的第三种方案的结构示意图;
图6为本发明确定文字动画在模板背景中的尺寸和位置的结构示意图;
图7为本发明对文字动画拆分的结构示意图;
图8为本发明用于文本、图像自适应排版及动画联动的装置的结构示意图。
具体实施方式
为使本发明的目的、技术方案和优点更加清楚,下面将对本发明的技术方案进行详细的描述。显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动的前提下所得到的所有其它实施方式,都属于本发明所保护的范围。
下面结合附图介绍本申请实施例中提供的一个具体的用于文本、图像自适应排版及动画联动的方法及装置。
如图1所示,本申请实施例中提供的用于文本、图像自适应排版及动画联动的方法包括:
S101,获取文字动画,根据文字特性计算文字动画的高度和宽度,得到文本动画的宽高比例;所述文字特性包括:文本内容、文字大小、文字字体、文字描边和文本阴影;
S102,根据预设的模板背景尺寸比例和所述动画宽高比例,确定所述文字动画在预设的模板背景中的尺寸和位置,并根据文字动画在模板背景中的尺寸、位置以及预设参数计算文本区域和图形区域的尺寸和位置;
S103,对确定尺寸和位置的文本区域和图形区域进行渲染并对渲染后得到的文本区域和图形区域进行联动变化处理;
S104,输出具有整体联动效果的视频。
一些实施例中,在获取文字动画之前,还包括:
预设模板并设置模板背景和模板背景尺寸比例,所述模板背景包括颜色、图片以及动态视频。
本申请可采用移动端实现,首先可以在移动端的展示页显示数量丰富的、内容多样化的文字动画,用户根据喜好选择预设的模板。并根据期望,设定导出的背景,包括静态的颜色、图片以及动态的视频,选择适当的尺寸比例,像16:9这样符合移动设备的参数。
本申请实施例提供的用于文本、图像自适应排版及动画联动的方法的工作原理为:参见图2,首先在移动端中预先设置多种模板,和文字动画,选择喜好的模板后,获取到待处理的文字动画,计算文字动画的高度和宽度,得到文本动画的宽高比例,根据预设的模板背景尺寸比例和动画宽高比例,确定文字动画在预设的模板背景中的尺寸和位置,并根据文字动画在模板背景中的尺寸、位置以及预设参数计算文本区域和图形区域的尺寸和位置,对确定尺寸和位置的文本区域和图形区域进行渲染,对渲染后得到的文本区域和图形区域进行联动变化处理,最终输出具有整体联动效果的视频。
本申请提供的用于文本、图像自适应排版及动画联动的方法,可以针对不同使用场景,进行多模块的文字、图形混排,能根据用户输入的文本长短进行灵活的自动排版,用户有需要时,也能手动调节各个模块的配色、字体、阴影、描边等设计属性,兼顾使用的便利性和灵活性;每个动画模板由多模块和多文字组成,现有的技术方案是将这类排版转化成一张图片进行整体动画控制,单调单板,而本发明可以针对各个独立模块进行动画脚本编排,使各个模块播放不同动画,并互相配合,在整体上形成一种灵活有冲击力的视觉表现。
一些实施例中,所述根据文字特性计算文字动画的高度和宽度,得到文本动画的宽高比例,包括:
根据文本区域的最上边界和最下边界,得到文本区域的第一高度以及根据图画区域的最上边界和最下边界,得到图画区域的第二高度,根据所述文本区域和图画区域所需的目的效果通过第一高度和第二高度计算得到文字动画的高度;
对文本区域的文本进行分行,获取每行文本的文本宽度,选择其中最宽的文本宽度为第一宽度以及计算图形的最左边界和最右边界,得到第二宽度;根据所述文本区域和图画区域所需的目的效果通过第一宽度和第二宽度计算得到文字动画的宽度;
根据文字动画的高度和高度,得到文字动画的宽高比例。
具体的,计算所有文本区域最上边界和最下边界,得到文本行域的高h1,与图形区域最上和最下边界的高度h2,再依据文本区域和图形区域的叠加、覆盖等动画所需要的目的效果,确定最终文本的高度H。
具体的,对应的方案包括有三种;
第一种,如图3所示,当文本区域和图形区域并排设置时,比较h1和h2,选取最大值,也就是选取文本和图片中更高的作为整体高度:
即选取h1或h2中较大的一个,作为文本动画的高度H。
第二种,如图4所示,当文本和图形上下设置时,将h1和h2直接求和作为高度:
即H=h1+h2;
第三种,如图5所示,当文字区域和图形区域部分重叠时,则先计算重叠因子,设重叠因子为percent,重叠因子应当是一个由视觉效果具体定义的有效值,范围是在0~1.0之间的小数:
则H=h1+h2*(1-percent)
得到H即得到文字动画的高度。
而对于宽度,先对文本区域中的文本进行分行,后对每一行进行处理,选最宽的文本宽度,然后计算图形区域左右的宽度,与高度采取一样的方式,得到整体宽度W。
通过计算可以得到当前用户输入内容的动画宽高比例为ratio=W/H;可以理解的是,W,H和他们的比例ratio是绘制的基础参数。采用比例的参数形式,可以应对各类导出的大小包括2K和4K甚至是8K视频。
一些实施例中,所述根据预设的模板背景尺寸比例和所述动画宽高比例,确定所述文字动画在预设的模板背景中的尺寸和位置,包括:
如果模板背景尺寸比例的值小于文字动画的宽高比例的值,则将文字动画的宽高中大的一边设置在模板背景的宽高中大的一边;
如果模板背景尺寸比例的值大于文字动画的宽高比例的值,则将文字动画的宽高中大的一边设置在模板背景的宽高中小的一边。
具体的,文字动画的比例就是前面计算的W/H。假设计算出来的W/H=1:2也就是0.5然后模板背景是预先选择的一张图,例如就是1920X1080的图。所以可以得到第二个比例1920/1080=1.78;因为1.78比0.5大,所以模板背景较小的一边就是文字动画较大的一边;或者假设W/H=2>模板背景的1.78,那么模板背景较大的一边作为文字动画较大的一边。也就是文字动画的宽应该是1920,高就是1920/(W/H)=960。也就是说一边一旦确定,另一边则通过比例直接算得,rw=rh*ratio=540,便得到合适默认大小为540X1080的尺寸如图6所示,这样既能最大显示,同时又不过多浪费手机的资源,默认情况下不至于因为超出屏幕无法显示全所有用户输入的信息。
可以理解的,本申请同时支持用户手动缩放旋转和移动等常规方法,兼容各种情况。而文字动画的整体尺寸和位置一旦确定,文字动画包含的文本区域和图形区域的位置便可根据预设参数进行计算。例如文本的位置参数为x=0.5,y=0.3,宽度是w=0.2,高度是h=0.1。而文字动画的实际宽高假定是rw和rh;便可以计算出该文本的具体信息:
[左边距,上边距,宽度,高度]=(x*rw,y*rh,w*rw,h*rh)
其中,
左边距=0.5*540=270;
上边距=0.3*1080=360;
宽度=0.2*540=108;
高度=0.05*1080=54;
得到了该文本区域的位置信息[270,360,108,54],则表明需要将用户输入的文本,自适应的放置到该区域内。其中自适应方式和文字动画整体自适应方式一致。每个文本区域和图形区域都预设调整好的比例参数,便于自适应不同的尺寸。其中比例参数可以根据实际需要进行设置,本申请在此不做限定。
一些实施例中,所述分别对多个所述子文本区域和多个所述图形区域进行渲染,包括:
对所述子文本区域中的文字进行文字、字体修改;
对所述子文本区域以及子图形区域进行颜色修改;
对所述子文本区域的文字进行描边和阴影处理。
具体的,如图7所示,根据文字的特性,为文本内容提供多样化的显示参数修改。针对不同的文字动画,将文字动画划分为不同的文本区域和图形区域(或以色块的形式内嵌),即Text(i)和Shape(i),其中i=1,2,3…。
将文字动画的多文本拆分成三个子文本区域:Text1是COLOR、Text2是CHANGE、Text3是VERY EASY,两个图形区域:Shape1是中间底部区域大的特殊形状部分,Shape2是周边区域小的矩形部分。文字和特殊形状交错组合在一起,形成美观的文字动画。
绘制最重要的一个组成部分,由于文字动画不仅仅包含基础文字,还拓展了特殊形状,所有的文字动画采用继承View而不是TextView的方式,文字的渲染主要由canvas来完成,通过覆盖绘制的onDraw方法,传入canvas参数,所有的内容都绘制到canvas上。具体如下:
1)文本区域的文字修改功能:由于文字动画的多文本特性,所以与常规统一修改文本不一样的,本申请提供按设定的文本区域数量独立修改的接口。同时对输入内容进行规范化:因为目标是移动端,尺寸有限,为了避免出现过于宽,过于高导致文本根本无法看清的情况,本申请将文本的行数和单行的文本长度进行限制。例如手机上横向显示40个字符了,字符几乎会看不见,就限制文本长度为40,或者文本显示5行以上文字动画效果不美观,则限制5行这样。可以理解的是,这个数值会根据实际显示效果有差异。
本申请中文本的渲染过程采用canvas,具体的技术方案是使用canvas的drawText(String text,float x,float y,Paint paint)方法,该方法只支持单行文本。但是通过单行的坐标组合便可得到多行一样的效果。所以多行文本的输入可以通过对换行符(\n)的字符串截取,得到多个单行文本也就是得到行数和各单行文本,作为drawText的(String)text参数绘制即可,(float)x是初始横向的偏移量,因为文字动画的“动”的特性,动的来源便是修改x和y的数据,依照动画实际调整即可。
2)字体:每个文本区域可单独设定字体。
由于文字动画集成自View而不是TextView,所以字体不能通过原有的TextView自带的设置字体的方法,本申请中创建TextPaint的变量,因为是继承自Paint的,作为drawText的第4个参数方式设置字体。
3)颜色:颜色是让整个动画最绚烂的核心.不仅仅文字可以有颜色,内嵌的特殊形状或者图片,也一样提供可更改颜色的接口。给不同文本区域和图形区域设置了不同的颜色
具体的技术方案为:针对文字,可以继续使用drawText的第4个参数TextPaint的setColor方法,即可对文字设置颜色。而针对图形区域,将原图Bitmap解码后只能是固定的颜色,要做到在Bitmap合适的像素也能够替换颜色,就需要把原图Src和一张与Src等大的目的纯色图Dst做混合。Bitmap限制由两部分组成,有颜色的部分和无颜色的部分,对应图像的alpha通道,颜色本身这是rgb通道。修改颜色,则结果图Result的alpha通道值使用原图的alpha通道值,而Result的rgb值使用新的rgb值,所以混合的计算公式为:
Result(a,r,g,b)=(Src.a,Dst.r*Src.a,Dst.g*Src.a,Dst.b*Src.a);
得到最新颜色的特殊形状Bitmap后,再使用canvas的drawBitmap(Bitmap b,float x,float y,Paint paint)来传入Bitmap和动态的位置参数x、y即可。
4)描边:文字的描边可以设置颜色和描边的粗细程度
具体实现方案为:在原有的有绘制文字drawText方法执行之前,把文本大小(textSize)再设置大一点,作为一个独立的文本区域即可达到视觉上的描边功能。
5)阴影:阴影的实现方案如下:
针对原有文本,为TextPaint添加ShadowLayer层,添加阴影效果,包括阴影的模糊程度、阴影偏移量(角度)、颜色等,对应canvas的方法setShadowLayer(float radius,float dx,float dy,int shadowColor)。
一些实施例中,对渲染后得到的文本区域和图形区域进行联动变化处理,包括:
设置所述文本区域和图形区域的动画过程;所述动画过程包括渐入状态、保持状态以及渐出状态。
优选的,所述设置所述文本区域和图形区域的动画过程,包括:
根据预设时间改变固定帧数的值;
根据改变后的固定帧数计算文本区域中文本的渐入显示数量、图形区域渐入横坐标位置;
根据改变后的固定帧数计算文本区域中文本的渐出显示数量、图形区域渐出横坐标的位置。
具体的,将文本区域和图形区域,在整个动画过程中的状态拆分成三种状态,分别是渐入状态,保持状态,渐出状态。需要对每个文字动画设定不同的帧数。
例如针对特定某个文字动画,渐入120帧,渐出状态80帧,保持状态因为是固定显示的,则1帧即可。总共201帧。需要说明的是,选用帧的方式,与时间不直接相关,这样可以有优势,让保持状态以无限延长的方式显示。如50个文字逐个出现的效果,同时图形区域的图从左侧渐入到保持状态的横坐标为200的位置。
那么对于固定帧数F(取值1<=F<=201),其动态的计算状态为
文本渐入显示数量=(F/120)*50;
图形区域渐入横坐标位置=(F/120)*200;
渐出状态是文字逐渐消失,然后特殊形状区向右飞出到500的位置,则动态调整方式为:
文本渐出显示数量=(201-F)*50;
图形区域渐出横坐标位置=(F-121)*(500-200)+200;
具体的,让文字动画整体动起来的效果的根本就是改变F的具体值。F在具体时间的使用换算关系得到即可。例如该动画是在Duration=4秒的时间内播放完毕,视频的FPS=30帧。所以视频的帧数(画面数)应该是Frame=Duration*FPS=120。所以做一个视频帧到文字动画帧的转换,视频每一帧等效为文字动画的1.675帧(201/120=1.675)。
在具体应用中,用户对于同一个文字动画往往有不同的导出时长需求。用帧的方式脱离的实际的时长,十分灵活的处理各种条件下的导出。这样也支持多个动画在不同的时间点进行混合,而针对某一时刻,转换到每个动画的每个文本和图形,独立的进行变换,达到整体联动的效果。
可以理解的是,将上述得到的文字动画以覆盖的形式叠加到背景图上,再加上音乐导出即可。
如图8所示,本申请提供一种用于文本、图像自适应排版及动画联动的装置,其特征在于,包括:
获取模块201,用于获取文字动画,根据文字特性计算文字动画的高度和宽度,得到文本动画的宽高比例;所述文字特性包括:文本内容、文字大小、文字字体、文字描边和文本阴影;
确定模块202,用于根据预设的模板背景尺寸比例和所述动画宽高比例,确定所述文字动画在预设的模板背景中的尺寸和位置,并根据文字动画在模板背景中的尺寸、位置以及预设参数计算文本区域和图形区域的尺寸和位置;
渲染模块203,用于对确定尺寸和位置的文本区域和图形区域进行渲染并对渲染后得到的文本区域和图形区域进行联动变化处理;
输出模块204,用于输出具有整体联动效果的视频。
本申请实施例提供一种计算机设备,包括处理器,以及与处理器连接的存储器;
存储器用于存储计算机程序,计算机程序用于执行上述任一实施例提供的用于文本、图像自适应排版及动画联动的方法;
处理器用于调用并执行存储器中的计算机程序。
综上所述,本发明提供一种用于文本、图像自适应排版及动画联动的方法及装置,所述方法包括获取文字动画,根据文字特性计算文字动画的高度和宽度,得到文本动画的宽高比例;确定所述文字动画在预设的模板背景中的尺寸和位置,并根据文字动画在模板背景中的尺寸、位置以及预设参数计算文本区域和图形区域的尺寸和位置;对文本区域和图形区域进行渲染;联动变化处理后输出具有整体联动效果的视频。本发明通过预设的图文排版及描述这些图文之间根据不同文本长短的自适应布局规则,实现完美的静态排版,并支持后期各模块颜色、字体等属性的调节;同时对各个图形、文本模块,编写动画脚本,控制完整、灵动的动画流程,并支持以各种格式导出,或直接添加到移动端视频上,进行视频创作效果的增强。
可以理解的是,上述提供的方法实施例与上述的装置实施例对应,相应的具体内容可以相互参考,在此不再赘述。
本领域内的技术人员应明白,本申请的实施例可提供为方法、系统、或计算机程序产品。因此,本申请可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本申请可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器和光学存储器等)上实施的计算机程序产品的形式。
本申请是参照根据本申请实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令方法的制造品,该指令方法实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
以上所述,仅为本发明的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应以所述权利要求的保护范围为准。
Claims (9)
1.一种用于文本、图像自适应排版及动画联动的方法,其特征在于,包括:
获取文字动画,根据文字特性计算文字动画的高度和宽度,得到文本动画的宽高比例;所述文字特性包括:文本内容、文字大小、文字字体、文字描边和文本阴影;
根据预设的模板背景尺寸比例和所述动画宽高比例,确定所述文字动画在预设的模板背景中的尺寸和位置,并根据文字动画在模板背景中的尺寸、位置以及预设参数计算文本区域和图形区域的尺寸和位置;
对确定尺寸和位置的文本区域和图形区域进行渲染并对渲染后得到的文本区域和图形区域进行联动变化处理;
输出具有整体联动效果的视频;
所述根据文字特性计算文字动画的高度和宽度,得到文本动画的宽高比例,包括:
根据文本区域的最上边界和最下边界,得到文本区域的第一高度以及根据图画区域的最上边界和最下边界,得到图画区域的第二高度,根据所述文本区域和图画区域所需的目的效果通过第一高度和第二高度计算得到文字动画的高度;
对文本区域的文本进行分行,获取每行文本的文本宽度,选择其中最宽的文本宽度为第一宽度以及计算图形的最左边界和最右边界,得到第二宽度;根据所述文本区域和图画区域所需的目的效果通过第一宽度和第二宽度计算得到文字动画的宽度;
根据文字动画的高度和高度,得到文字动画的宽高比例。
2.根据权利要求1所述的方法,其特征在于,在获取文字动画之前,还包括:
预设模板并设置模板背景和模板背景尺寸比例,所述模板背景包括颜色、图片以及动态视频。
3.根据权利要求2所述的方法,其特征在于,所述根据预设的模板背景尺寸比例和所述动画宽高比例,确定所述文字动画在预设的模板背景中的尺寸和位置,包括:
如果模板背景尺寸比例的值小于文字动画的宽高比例的值,则将文字动画的宽高中大的一边设置在模板背景的宽高中大的一边;
如果模板背景尺寸比例的值大于文字动画的宽高比例的值,则将文字动画的宽高中大的一边设置在模板背景的宽高中小的一边。
4.根据权利要求1所述的方法,其特征在于,所述对确定尺寸和位置的文本区域和图形区域进行渲染,包括:
根据不同的文字块将所述文本区域划分为多个子文本区域,以及根据不同的颜色将图形区域划分为多个子图形区域;
分别对多个所述子文本区域和多个所述图形区域进行渲染。
5.根据权利要求4所述的方法,其特征在于,所述分别对多个所述子文本区域和多个所述图形区域进行渲染,包括:
对所述子文本区域中的文字进行文字、字体修改;
对所述子文本区域以及子图形区域进行颜色修改;
对所述子文本区域的文字进行描边和阴影处理。
6.根据权利要求1所述的方法,其特征在于,对渲染后得到的文本区域和图形区域进行联动变化处理,包括:
设置所述文本区域和图形区域的动画过程;所述动画过程包括渐入状态、保持状态以及渐出状态。
7.根据权利要求6所述的方法,其特征在于,所述设置所述文本区域和图形区域的动画过程,包括:
根据预设时间改变固定帧数的值;
根据改变后的固定帧数计算文本区域中文本的渐入显示数量、图形区域渐入横坐标位置;
根据改变后的固定帧数计算文本区域中文本的渐出显示数量、图形区域渐出横坐标的位置。
8.一种用于文本、图像自适应排版及动画联动的装置,其特征在于,包括:
获取模块,用于获取文字动画,根据文字特性计算文字动画的高度和宽度,得到文本动画的宽高比例;所述文字特性包括:文本内容、文字大小、文字字体、文字描边和文本阴影;
确定模块,用于根据预设的模板背景尺寸比例和所述动画宽高比例,确定所述文字动画在预设的模板背景中的尺寸和位置,并根据文字动画在模板背景中的尺寸、位置以及预设参数计算文本区域和图形区域的尺寸和位置;
渲染模块,用于对确定尺寸和位置的文本区域和图形区域进行渲染并对渲染后得到的文本区域和图形区域进行联动变化处理;
输出模块,用于输出具有整体联动效果的视频;
所述根据文字特性计算文字动画的高度和宽度,得到文本动画的宽高比例,包括:
根据文本区域的最上边界和最下边界,得到文本区域的第一高度以及根据图画区域的最上边界和最下边界,得到图画区域的第二高度,根据所述文本区域和图画区域所需的目的效果通过第一高度和第二高度计算得到文字动画的高度;
对文本区域的文本进行分行,获取每行文本的文本宽度,选择其中最宽的文本宽度为第一宽度以及计算图形的最左边界和最右边界,得到第二宽度;根据所述文本区域和图画区域所需的目的效果通过第一宽度和第二宽度计算得到文字动画的宽度;
根据文字动画的高度和高度,得到文字动画的宽高比例。
9.根据权利要求8所述的装置,其特征在于,还包括:
预设模块,用于预设模板并设置模板背景和模板背景尺寸比例,所述模板背景包括颜色、图片以及动态视频。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011596911.7A CN112614211B (zh) | 2020-12-29 | 2020-12-29 | 用于文本、图像自适应排版及动画联动的方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011596911.7A CN112614211B (zh) | 2020-12-29 | 2020-12-29 | 用于文本、图像自适应排版及动画联动的方法及装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN112614211A CN112614211A (zh) | 2021-04-06 |
CN112614211B true CN112614211B (zh) | 2023-09-22 |
Family
ID=75248932
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202011596911.7A Active CN112614211B (zh) | 2020-12-29 | 2020-12-29 | 用于文本、图像自适应排版及动画联动的方法及装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN112614211B (zh) |
Families Citing this family (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113409429A (zh) * | 2021-06-24 | 2021-09-17 | 广州光锥元信息科技有限公司 | 一种生成3d文字的方法及装置 |
CN113778419B (zh) * | 2021-08-09 | 2023-06-02 | 北京有竹居网络技术有限公司 | 多媒体数据的生成方法、装置、可读介质及电子设备 |
CN113705156A (zh) * | 2021-08-30 | 2021-11-26 | 上海哔哩哔哩科技有限公司 | 字符处理方法及装置 |
CN114816149A (zh) * | 2022-04-24 | 2022-07-29 | 佛山市诚智鑫信息科技有限公司 | 一种电子班牌显示控制系统及控制方法 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107644019A (zh) * | 2016-07-20 | 2018-01-30 | 江苏云媒数字科技有限公司 | 一种超媒体电子书内容制作系统 |
CN111221597A (zh) * | 2018-11-23 | 2020-06-02 | 北京方正手迹数字技术有限公司 | 字体渲染方法、装置及计算机可读存储介质 |
CN111612878A (zh) * | 2020-05-21 | 2020-09-01 | 广州光锥元信息科技有限公司 | 将静态照片制作成三维效果视频的方法及装置 |
Family Cites Families (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
DE602004023165D1 (de) * | 2003-10-15 | 2009-10-29 | Canon Kk | Selektive Voranzeige und Probedruck von Dokumente oder Layouts, die variablen Daten enthalten |
US7739612B2 (en) * | 2005-09-12 | 2010-06-15 | Microsoft Corporation | Blended editing of literal and non-literal values |
JP2013508856A (ja) * | 2009-10-20 | 2013-03-07 | キューウィキ、インコーポレイティッド | キーワードおよびストリング入力に基づき、動画メディアをアセンブリする方法およびシステム |
CN104579908B (zh) * | 2013-10-21 | 2019-08-02 | 腾讯科技(深圳)有限公司 | 图像显示的方法及装置 |
-
2020
- 2020-12-29 CN CN202011596911.7A patent/CN112614211B/zh active Active
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107644019A (zh) * | 2016-07-20 | 2018-01-30 | 江苏云媒数字科技有限公司 | 一种超媒体电子书内容制作系统 |
CN111221597A (zh) * | 2018-11-23 | 2020-06-02 | 北京方正手迹数字技术有限公司 | 字体渲染方法、装置及计算机可读存储介质 |
CN111612878A (zh) * | 2020-05-21 | 2020-09-01 | 广州光锥元信息科技有限公司 | 将静态照片制作成三维效果视频的方法及装置 |
Non-Patent Citations (1)
Title |
---|
Xara3D3――制作3D动画文字好轻松;杨秉辉;电脑知识与技术(第11期);20-21 * |
Also Published As
Publication number | Publication date |
---|---|
CN112614211A (zh) | 2021-04-06 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN112614211B (zh) | 用于文本、图像自适应排版及动画联动的方法及装置 | |
US11507727B2 (en) | Font rendering method and apparatus, and computer-readable storage medium | |
US4800510A (en) | Method and system for programmed control of computer generated graphics layout | |
CN105657574B (zh) | 一种视频文件制作方法以及装置 | |
US10089715B2 (en) | System for parametric generation of custom scalable animated characters on the web | |
US8717368B1 (en) | Decomposing animations into primitives for browser-dependent rendering | |
WO2019228013A1 (zh) | 在3d模型上展示富文本的方法、装置及设备 | |
JP2007104627A (ja) | テンプレート式マルチメディア双方向編集器及びその編集方法 | |
CN104239305A (zh) | 生成及展现电子文档的方法及装置 | |
CN104915186B (zh) | 一种制作页面的方法和装置 | |
US7650564B2 (en) | Global tone adjustment system for document files containing text, raster, and vector images | |
JP5927829B2 (ja) | 印刷用データ作成装置、印刷用データ作成方法、プログラム及び記録媒体 | |
CN114997105A (zh) | 设计模板以及素材的生成方法、计算设备及存储介质 | |
CN104424174B (zh) | 文档处理系统和文档处理方法 | |
US20050116946A1 (en) | Graphic decoder including graphic display accelerating function based on commands, graphic display accelerating method therefor and image reproduction apparatus | |
US9064350B2 (en) | Methods of providing graphics data and displaying | |
CN114268749B (zh) | 一种视频视觉效果模板化的方法及系统 | |
CN114547519B (zh) | 页面编辑方法、装置、电子设备和可读存储介质 | |
CN112507661B (zh) | 文字特效的实现方法、装置、电子设备及存储介质 | |
CN113051872A (zh) | 突显文字的显示方法及装置、设备 | |
KR101352737B1 (ko) | 동영상 편집도구의 이펙트 설정 데이터를 이용한 이펙트 설정 방법 및 컴퓨터로 판독가능한 기록매체 | |
Dengler et al. | Scalable vector graphics (SVG) 1.1 | |
CN113268209A (zh) | 一种创建自定义单据打印模板的方法、装置和计算机设备 | |
CN118227127A (zh) | 占位处理方法、装置及非易失性存储介质 | |
CN117494667A (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 |