CN112329383A - 一种文字描边效果实现方法、装置、设备及存储介质 - Google Patents

一种文字描边效果实现方法、装置、设备及存储介质 Download PDF

Info

Publication number
CN112329383A
CN112329383A CN202011038012.5A CN202011038012A CN112329383A CN 112329383 A CN112329383 A CN 112329383A CN 202011038012 A CN202011038012 A CN 202011038012A CN 112329383 A CN112329383 A CN 112329383A
Authority
CN
China
Prior art keywords
stroke
text
character
effect
stroking
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.)
Pending
Application number
CN202011038012.5A
Other languages
English (en)
Inventor
刘导安
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Guangzhou Baiguoyuan Network Technology Co Ltd
Original Assignee
Guangzhou Baiguoyuan Network Technology Co Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Guangzhou Baiguoyuan Network Technology Co Ltd filed Critical Guangzhou Baiguoyuan Network Technology Co Ltd
Priority to CN202011038012.5A priority Critical patent/CN112329383A/zh
Publication of CN112329383A publication Critical patent/CN112329383A/zh
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F40/00Handling natural language data
    • G06F40/10Text processing
    • G06F40/103Formatting, i.e. changing of presentation of documents
    • G06F40/109Font handling; Temporal or kinetic typography
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T11/002D [Two Dimensional] image generation
    • G06T11/001Texturing; Colouring; Generation of texture or colour
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T11/002D [Two Dimensional] image generation
    • G06T11/60Editing figures and text; Combining figures or text

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)
  • User Interface Of Digital Computer (AREA)

Abstract

本申请实施例公开了一种文字描边效果实现方法、装置、设备及存储介质。本申请实施例提供的技术方案基于设定的文字描边效果确定对待处理文本的描边处理方式,并基于该描边处理方式对待处理文本进行文字描边处理,得到对应文字描边效果的描边效果文本,并在描边文本框中对描边效果文本进行显示,并且可根据文字效果需要将文字描边效果设定为单层描边效果或多层描边效果,满足更丰富的文字描边效果的需求。

Description

一种文字描边效果实现方法、装置、设备及存储介质
技术领域
本申请实施例涉及文字显示技术领域,尤其涉及一种文字描边效果实现方法、装置、设备及存储介质。
背景技术
随着网络的发展,短视频应用也越来越受到人们的青睐,在制作短视频时,经常会在视频中添加歌词、字幕、封面标题等文字,并且在添加文字时会希望文字可以展现出不同的显示效果。
在实际应用中,文字描边效果是常见的文字显示效果,但是目前系统(Android、iOS等系统)自带的TextView(系统中用来显示文字的视图)只能实现简单的文字显示效果,无法满足对文字描边的显示需求。
发明内容
本申请实施例提供一种文字描边效果实现方法、装置、设备及存储介质,以提供更丰富的文字描边效果。
在第一方面,本申请实施例提供了一种文字描边效果实现方法,包括:
接收对描边文本框输入的待处理文本;
基于设定的文字描边效果确定对应的描边处理方式,所述文字描边效果包括单层描边效果和多层描边效果;
基于所述描边处理方式对所述待处理文本进行文字描边处理,以得到所述文字描边效果对应的描边效果文本;
在所述描边文本框中显示所述描边效果文本。
进一步的,所述基于设定的文字描边效果确定对应的描边处理方式,包括:
基于所述单层描边效果确定对所述待处理文本的单层描边处理方式。
进一步的,所述基于所述描边处理方式对所述待处理文本进行文字描边处理,以得到所述文字描边效果对应的描边效果文本,包括:
按照所述单层描边处理方式设置文字画笔的描边设置参数,所述描边设置参数包括描边颜色、绘制宽度、画笔样式、拐角样式和画笔加粗中的至少一种;
依据文字布局工具基于所述描边设置参数在画布上绘制所述待处理文本;
将所述文字画笔的文字属性设置为设定文字属性;
依据文字布局工具基于所述设定文字属性在画布上绘制所述待处理文本,以得到所述单层描边效果对应的描边效果文本。
进一步的,所述基于设定的文字描边效果确定对应的描边处理方式,包括:
基于所述多层描边效果确定对所述待处理文字的多层描边处理方式。
进一步的,所述基于所述描边处理方式对所述待处理文本进行文字描边处理,以得到所述文字描边效果对应的描边效果文本,包括:
按照所述多层描边处理方式设置每一层待处理描边对应的文字画笔的描边设置参数,所述描边设置参数包括描边颜色、绘制宽度、画笔样式、拐角样式和画笔加粗中的至少一种;
依据文字布局工具基于每一层待处理描边对应的所述描边设置参数在画布上绘制所述待处理文本;
依据文字布局工具基于设定文字属性在画布上绘制所述待处理文本,以得到所述多层描边效果对应的描边效果文本。
进一步的,所述按照所述多层描边处理方式设置每一层待处理描边对应的文字画笔的描边设置参数,包括:
按照所述多层描边处理方式设置绘制宽度最大的待处理描边对应的文字画笔的描边设置参数;
相应的,所述依据文字布局工具基于每一层待处理描边对应的所述描边设置参数在画布上绘制所述待处理文本,包括:
依据文字布局工具基于所述描边设置参数在画布上绘制所述待处理文本,以得到对应单层描边文本;
重新设置绘制宽度最大的待处理描边对应的文字画笔的描边设置参数,直至获得所有层的单层描边文本。
进一步的,所述按照所述多层描边处理方式设置绘制宽度最大的待处理描边对应的文字画笔的描边设置参数,包括:
按照所述多层描边处理方式设置绘制宽度最大的待处理描边对应的文字画笔的绘制宽度,所述绘制宽度为上一层描边的绘制宽度与本层描边的描边宽度的和。
进一步的,所述接收对描边文本框输入的待处理文本之后,还包括:
获取待处理文本的字间距宽度以及字号大小,并根据所述字间距宽度以及所述字号大小计算目标字间距比例;
依据字符间距工具将文字画笔的字间距比例设置为目标字间距比例。
进一步的,所述基于所述描边处理方式对所述待处理文本进行文字描边处理之前,还包括:
确定描边绘制宽度,并基于所述描边绘制宽度沿纵向以及横向移动画布的位置。
进一步的,所述基于所述绘制宽度沿纵向以及横向移动画布的位置之前,还包括:
依据文字布局工具确定所述待处理文本的对应的视图高度和视图宽度;
基于描边绘制宽度以及所述视图高度和所述视图宽度,确定文本视图的实际高度和实际宽度。
进一步的,所述文本视图的实际高度为所述视图高度与两倍所述绘制宽度的和;所述文本视图的实际宽度为所述视图宽度与两倍所述绘制宽度的和。
在第二方面,本申请实施例提供了一种文字描边效果实现装置,包括文本接收模块、效果确定模块、描边处理模块和文本显示模块,其中:
文本接收模块,用于接收对描边文本框输入的待处理文本;
效果确定模块,用于基于设定的文字描边效果确定对应的描边处理方式,所述文字描边效果包括单层描边效果和多层描边效果;
描边处理模块,用于基于所述描边处理方式对所述待处理文本进行文字描边处理,以得到所述文字描边效果对应的描边效果文本;
文本显示模块,用于在所述描边文本框中显示所述描边效果文本。
在第三方面,本申请实施例提供了一种计算机设备,包括:存储器以及一个或多个处理器;
所述存储器,用于存储一个或多个程序;
当所述一个或多个程序被所述一个或多个处理器执行,使得所述一个或多个处理器实现如第一方面所述的文字描边效果实现方法。
在第四方面,本申请实施例提供了一种包含计算机可执行指令的存储介质,所述计算机可执行指令在由计算机处理器执行时用于执行如第一方面所述的文字描边效果实现方法。
本申请实施例基于设定的文字描边效果确定对待处理文本的描边处理方式,并基于该描边处理方式对待处理文本进行文字描边处理,得到对应文字描边效果的描边效果文本,并在描边文本框中对描边效果文本进行显示,并且可根据文字效果需要将文字描边效果设定为单层描边效果或多层描边效果,满足更丰富的文字描边效果的需求。
附图说明
图1是本申请实施例提供的一种文字描边效果实现方法的流程图;
图2是本申请实施例提供的一种效果显示界面的示意图;
图3是本申请实施例提供的一种单层描边效果文本的显示示意图;
图4是本申请实施例提供的一种多层描边效果文本的显示示意图;
图5是本申请实施例提供的另一种文字描边效果实现方法的流程图;
图6是本申请实施例提供的一种单层描边效果对应描边效果文本的示意图;
图7是本申请实施例提供的另一种文字描边效果实现方法的流程图;
图8是本申请实施例提供的一种多层描边效果对应描边效果文本的示意图;
图9是本申请实施例提供的一种文字描边效果实现装置的结构示意图;
图10是本申请实施例提供的一种计算机设备的结构示意图。
具体实施方式
为了使本申请的目的、技术方案和优点更加清楚,下面结合附图对本申请具体实施例作进一步的详细描述。可以理解的是,此处所描述的具体实施例仅仅用于解释本申请,而非对本申请的限定。另外还需要说明的是,为了便于描述,附图中仅示出了与本申请相关的部分而非全部内容。在更加详细地讨论示例性实施例之前应当提到的是,一些示例性实施例被描述成作为流程图描绘的处理或方法。虽然流程图将各项操作(或步骤)描述成顺序的处理,但是其中的许多操作可以被并行地、并发地或者同时实施。此外,各项操作的顺序可以被重新安排。当其操作完成时所述处理可以被终止,但是还可以具有未包括在附图中的附加步骤。所述处理可以对应于方法、函数、规程、子例程、子程序等等。
图1给出了本申请实施例提供的一种文字描边效果实现方法的流程图,本申请实施例提供的文字描边效果实现方法可以由文字描边效果实现装置来执行,该文字描边效果实现装置可以通过硬件和/或软件的方式实现,并集成在计算机设备中。
下述以文字描边效果实现装置执行文字描边效果实现方法为例进行描述。参考图1,该文字描边效果实现方法包括:
S101:接收对描边文本框输入的待处理文本。
示例性的,可在手机、平板电脑等计算机设备提供的效果显示界面中加入描边文本框,并可通过点击描边文本框进行文本输入,或对描边文本框中的文本进行编辑。在完成文本的输入或编辑后,接收对描边文本框输入的文本并将该文本作为待处理文本。其中待处理文本可理解为需要进行文字描边处理的文本。
其中,描边文本框可在接收并确认待处理文本后再加入效果显示界面中,还可以是将描边文本框加入效果显示界面后,再通过点击描边文本框输入待处理文本。
可选的,在对描边文本框输入待处理文本之前,基于设定的文字描边显示效果在描边文本框中显示提示文本,例如基于单层描边效果或多层描边效果显示“点击输入文字”的提示文本,并在点击描边文本框以进行待处理文本输入后进入文本输入界面(例如调用虚拟键盘进行文本输入),并取消提示文本的显示。
图2为本申请实施例提供的一种效果显示界面的示意图。以视频录制应用程序为例,启动视频录制应用并进入视频录制页面,在完成视频的录制后,进入效果显示界面(可通过封面设置按钮或字幕设置按钮进入效果显示界面,分别用于设置封面或字幕中显示的文字的显示效果),在本实施例中效果显示界面为在对应视频帧上进行显示效果设置的交互界面。如图2所示,在效果显示界面中加入描边文本框(图中“点击输入文字”对应的位置),并在描边文本框中显示“点击输入文字”的提示文本,通过点击提示文本即可进入文本输入界面,以向描边文本框输入待处理文本。
可选的,在接收到待处理文本或检测到待处理文本的更新时,通过View.onDraw指令调用TextView组件,以进行接下来的文字绘制操作。
在一个可能的实施例中,在接收对描边文本框输入的待处理文本之后,可根据待处理文本的字间距宽度以及字号大小设置目标字间距比例,以减少相邻文字之间的描边出现重叠的情况。具体的,对目标字间距比例的设置包括:
S1011:获取待处理文本的字间距宽度以及字号大小,并根据所述字间距宽度以及所述字号大小计算目标字间距比例。
具体的,获取待处理文本的字间距宽度以及字号大小,并根据字间距比例计算公式F(x)=x/S计算目标字间距比例,其中F(x)为目标字间距比例,x为字间距宽度、S为字号大小,假设x=6,S=46,则计算出来目标字间距比例F(x)=0.13。
其中待处理文本的字间距宽度以及字号大小与描边文本框一一对应,根据描边文本框可确定待处理文本的字间距宽度以及字号大小。或者是通过文字布局工具对待处理文本进行测量得到字间距宽度以及字号大小。
S1012:依据字符间距工具将文字画笔的字间距比例设置为目标字间距比例。
在确定目标字间距比例后,依据字符间距工具(TextPaint.letterSpacing)将文字画笔的字间距比例设置设置为目标字间距比例。通过设置字间距比例,可有效减少因文字之间的距离过近而导致相邻文字的描边出现重叠的情况。
S102:基于设定的文字描边效果确定对应的描边处理方式,所述文字描边效果包括单层描边效果和多层描边效果。
示例性的,不同的文字描边效果对应不同的描边处理方式以及描边文本框,可根据设定的文字描边效果确定对应的描边处理方式。
本实施例提供的文字描边效果包括包括单层描边效果和多层描边效果,并且单层描边效果和多层描边效果对应的描边处理方式分别为单层描边处理方式和多层描边处理方式。
在本实施例中,设定的文字描边效果可以是默认的文字描边效果,还可以是根据对文字描边效果的切换操作或选择操作确定的文字描边效果。例如,在效果显示界面中提供对应不同文字描边效果的选择按钮,在点击对应的选择按钮后,对应的文字描边效果即为设定的文字描边效果。
例如,在进入效果显示界面时,根据默认的文字描边效果在效果显示界面加入描边文本框,接收对该描边文本框输入的待处理文本,并确定该描边文本框对应的文字描边效果,进而确定对应的描边处理方式。在检测到对文字描边效果的切换操作或选择操作时,切换对应的描边文本框,并确定该描边文本框对应的文字描边效果,进而确定对应的描边处理方式。
在一个可能的实施例中,在对待处理文本进行文字描边处理之前,还包括:
S1021:依据文字布局工具确定所述待处理文本的对应的视图高度和视图宽度。
具体的,通过文字布局工具(基于View.onMeasure指令)对待处理文本进行测量,得到待处理文本的视图高度和视图宽度。
S1022:基于描边绘制宽度以及所述视图高度和所述视图宽度,确定文本视图的实际高度和实际宽度。
对于单层描边效果,对应的描边绘制宽度即为描边宽度,对于多层描边效果,描边绘制宽度为最外层描边的绘制宽度(所有层描边的描边宽度之和)。
其中文本视图的实际高度为所述视图高度与两倍所述绘制宽度的和,所述文本视图的实际宽度为所述视图宽度与两倍所述绘制宽度的和。
具体的,确定描边绘制宽度,并将视图高度和两倍的描边绘制宽度的和作为文本视图的实际高度,并将视图宽度和两倍的描边绘制宽度的和作为文本视图的实际宽度。
进一步的,在确定文本视图的实际高度和实际宽度后,按照实际高度和实际宽度设置文本视图的高度和宽度。
通过重新设置文本视图的高度和宽度,使得新设置的文本视图适应描边效果的绘制范围,减少因描边范围超出文本视图而导致出现描边被切边的情况。
S1023:确定描边绘制宽度,并基于所述描边绘制宽度沿纵向以及横向移动画布的位置。
具体的,确定描边绘制宽度,并按照该描边绘制宽度将画布往沿纵向以及横向进行移动,即在绘制描边前,对于单层描边效果,将画布在纵向和横向都平移描边宽度对应的距离,对于多层描边效果,将画布在纵向和横向都平移最外层描边的绘制宽度对应的距离。
可以理解的是,在绘制阶段(View.onDraw阶段),默认的文本视图绘制都是从左上角(0,0)位置开始绘制。假设最大的描边绘制宽度为Wm,如果不平移画布直接绘制描边,则字体开始绘制的位置为(0,0),而其描边开始绘制的位置为(-Wm,-Wm),在实际显示效果中会出现左边和上边的描边被切割的现象。所以在绘制前需要先对画布做平移(Wm,Wm),使字体可以在(Wm,Wm)的位置开始绘制,而最外层描边也可以在(0,0)位置开始绘制,保证描边效果的展示。
S103:基于所述描边处理方式对所述待处理文本进行文字描边处理,以得到所述文字描边效果对应的描边效果文本。
示例性的,在接收到待处理文本并确定对应的描边处理方式后,基于对应描边处理方式对待处理文本进行文字描边处理,以得到设定的文字描边效果对应的描边效果文本。其中,描边效果文本包括分别对应于单层描边效果和多层描边效果的单层描边效果文本和多层描边效果文本。
例如,对于单层描边效果,其对应描边效果文本的描边效果为在显示待处理文本对应文字的同时,在文字的轮廓边沿显示一层描边;对于多层描边效果,其对应描边效果文本的描边显示效果为在显示待处理文本对应文字的同时,在文字的轮廓边沿显示多层满足层级关系的描边,即在显示效果上,外层(下层)的描边将内层(上层)的描边包围在内,并且相邻层描边之间的描边颜色存在却别。
S104:在所述描边文本框中显示所述描边效果文本。
示例性的,在得到描边效果文本后,在对应描边文本框中显示该描边效果文本。
可选的,可在描边文本框中添加删除按钮或缩放按钮,以对该描边文本框进行删除操作或缩放操作,还可以是通过双指操作实现对描边文本框的缩放操作。在对描边文本框经缩放操作后,对重新设置大小的待处理文本进行文字描边处理,得到对应大小的描边效果文本,并在描边文本框中显示。另外,还可响应对描边文本框的拖动操作,移动描边文本框在效果显示界面中的位置。
图3为本申请实施例提供的一种单层描边效果文本的显示示意图。如图3所示,在得到单层描边效果文本后,在效果显示界面对该描边效果文本进行显示。图中以单层描边效果文本进行示例性描述,单层描边效果文本包括里面蓝色的文字和外层的白色描边,达到单层描边的效果。
图4为本申请实施例提供的一种多层描边效果文本的显示示意图。如图4所示,在得到多层描边效果文本后,在效果显示界面对该描边效果文本进行显示。图中以多层描边效果文本进行示例性描述,具体为双层描边效果文本,分别为里面红色的文字、中间的白色描边和外层的紫色描边,达到双重描边的效果。
可选的,在对应描边文本框的左上角和右下角添加了删除按钮和缩放按钮,用于对描边文本框进行删除操作和缩放操作,在完成文字描边效果的设置并播放对应视频时,会在视频画面对应的视频帧中显示该描边效果文本,但不会显示文本框、删除按钮和缩放按钮。
上述,基于设定的文字描边效果确定对待处理文本的描边处理方式,并基于该描边处理方式对待处理文本进行文字描边处理,得到对应文字描边效果的描边效果文本,并在描边文本框中对描边效果文本进行显示,并且可根据文字效果需要将文字描边效果设定为单层描边效果或多层描边效果,满足更丰富的文字描边效果的需求。
在上述实施例的基础上,图5为本申请实施例提供的另一种文字描边效果实现方法的流程图,该文字描边效果实现方法是对上述文字描边效果实现方法的具体化。参考图5,该文字描边效果实现方法包括:
S201:接收对描边文本框输入的待处理文本。
S202:基于设定的单层描边效果确定对所述待处理文本的单层描边处理方式。
本申请实施例以单层描边效果作为设定的文字描边效果为例进行描述。例如在进入效果显示界面时,默认设定的文字描边效果为单层描边效果,或者是通过对文字描边效果的切换操作或选择操作确定单层描边效果。
示例性的,可根据对描边效果的不同显示需要(例如不同的描边颜色、绘制宽度、画笔样式、拐角样式和画笔是否加粗等)设置不同的单层描边效果,并且不同的单层描边效果对应不同的单层描边处理方式。
S203:按照所述单层描边处理方式设置文字画笔的描边设置参数。
具体的,在确定对待处理文本的单层描边处理方式后,按照该单层描边处理方式指示的显示需要(例如不同的描边颜色、描边宽度、画笔样式、拐角样式和画笔是否加粗等),对文字画笔(TextPaint,Android系统的文字画笔,支持文字绘制功能)的描边设置参数进行设置。
其中,描边设置参数包括描边颜色、绘制宽度、画笔样式、拐角样式和画笔加粗中的至少一种。可以理解的是,在未对描边设置参数中的部分参数进行设置时,对应部分参数沿用上一次设置的值或者是确定为默认值。
示例性的,通过调用TextPaint.color设置文字画笔的描边颜色,例如将描边颜色的属性值设置为Color.WHITE,将描边颜色(画笔颜色)设置为白色,画笔颜色其实就是文字的绘制颜色,绘制描边时会和描边颜色一致,可以通画笔颜色设置描边颜色;通过调用TextPaint.strokeWidth设置文字画笔的绘制宽度,例如将绘制宽度的属性值设置为2dp,其中dp为屏幕像素密度单位;通过调用TextPaint.style设置画笔样式,一般的,将画笔样式的属性值设置为Paint.Style.FILL_AND_STROKE,可减少因对描边文本框进行缩放时出现描边和文本脱离的现象;通过调用TextPaint.strokeJoin设置文字画笔的拐角样式,例如分别将拐角样式的属性值设置为Paint.Join.ROUND、Paint.Join.MITER和Paint.Join.BEVEL,可分贝设置拐角样式为圆形、锐角和直线拐角;通过调用TextPaint.isFakeBoldText设置是否对文字画笔进行画笔加粗,一般将画笔加粗的属性值设置为false,不对文字画笔进行画笔加粗,减少设定的绘制宽度和实际显示的描边宽度不一致的情况。
其中描边宽度为描边视觉上描边的宽度,绘制宽度为实际绘制时描边的宽度。可以理解的是,对于单层描边效果,绘制宽度和描边宽度一致。
S204:依据文字布局工具基于所述描边设置参数在画布上绘制所述待处理文本。
具体的,在设置文字画笔的描边设置参数后,获取文本的文字布局工具(StaticLayout,Android系统中的文字布局工具),并将文字画笔设置给文字布局工具。基于Staticlayout.Draw(Canvas)指令,由文字布局工具基于描边设置参数在画布(Canvas,视图绘制的画布)上绘制待处理文本,从而得到单层描边效果对应的单层描边。
S205:将所述文字画笔的文字属性设置为设定文字属性。
具体的,重置文字画笔,将文字画笔中设置的描边设置参数恢复至初始无描边状态,并将文字画笔的文字属性设置为设定文字属性。其中设定文字属性与单层描边处理方式一一对应,即不同的单层描边处理方式对应不同的设定文字属性,例如设定文字属性中的字体颜色。
S206:依据文字布局工具基于所述设定文字属性在画布上绘制所述待处理文本,以得到所述单层描边效果对应的描边效果文本。
具体的,在设置文字画笔的文字属性后,将文字画笔设置给文字布局工具。基于Staticlayout.Draw(Canvas)指令,由文字布局工具基于文字属性在画布上绘制待处理文本,从而得到待处理文本对应的正常文字,此时正常文字和步骤S204中得到的单层描边共同绘制在同一画布上,形成单层描边效果对应的描边效果文本。
图6为本申请实施例提供的一种单层描边效果对应描边效果文本的示意图。如图6所示,假设将描边设置参数中的描边颜色和绘制宽度分别设置为白色和2dp,依据文字布局工具绘制待处理文本得到宽度为2dp的白色单层描边,将文字属性中的字体颜色设置为蓝色,依据文字布局工具绘制待处理文本得到蓝色的正常文字,由单层描边和正常文字可得到图6所示的描边效果文本。
S207:在所述描边文本框中显示所述描边效果文本。
上述,在接收到待处理文本后,基于对应的单层描边处理方式设置文字画笔的描边设置参数,并由文字布局工具基于描边设置参数在画布上绘制待处理文本,得到单层描边,然后将文字画笔重置设置正常文字对应的文字属性,由文字布局工具基于文字属性在画布上绘制待处理文本得到正常文字,由单层描边和正常文字共同形成单层描边效果对应的描边效果文本,实现丰富的单层描边显示效果。
在上述实施例的基础上,图7为本申请实施例提供的另一种文字描边效果实现方法的流程图,该文字描边效果实现方法是对上述文字描边效果实现方法的具体化。参考图7,该文字描边效果实现方法包括:
S301:接收对描边文本框输入的待处理文本。
S302:基于设定的多层描边效果确定对所述待处理文字的多层描边处理方式。
本申请实施例以多层描边效果作为设定的文字描边效果为例进行描述。例如在进入效果显示界面时,默认设定的文字描边效果为多层描边效果,或者是通过对文字描边效果的切换操作或选择操作确定多层描边效果。
示例性的,可根据对描边效果的不同显示需要(例如不同的描边层数、描边颜色、绘制宽度、画笔样式、拐角样式和画笔是否加粗等)设置不同的多层描边效果,并且不同的多层描边效果对应不同的多层描边处理方式。
S303:按照所述多层描边处理方式设置每一层待处理描边对应的文字画笔的描边设置参数。
在确定对待处理文本的多层描边处理方式后,按照该多层描边处理方式设置每一层待处理描边对应的文字画笔的描边设置参数。其中,描边设置参数包括描边颜色、绘制宽度、画笔样式、拐角样式和画笔加粗中的至少一种。对描边设置参数的设置可参考上述实施例步骤S203,本实施例不再赘述。
可以理解的是,多层描边效果的实现是基于多个不同层的单层描边实现的,并且多个单层描边之间存在层级关系,因为在绘制描边效果时,后绘制的描边会显示在上层,所以需要先对绘制宽度较大的描边进行绘制,再绘制描边宽度较小的描边,否则绘制宽度较小的描边会被绘制宽度较大的描边遮盖。
具体的,本实施例在每次设置描边设置参数时,具体为:
S3031:按照所述多层描边处理方式设置绘制宽度最大的待处理描边对应的文字画笔的描边设置参数。
其中待处理描边为未进行描边绘制的一层描边。假设设定的多层描边效果为双层描边效果,第一层(最外层)绘制宽度为2dp,第二层绘制宽度为1dp,初始的待处理描边有共由两层,并且此时绘制宽度最大的待处理描边为第一层描边,在完成第一层描边的绘制后,新的绘制宽度最大的待处理描边转换为第二层描边。
在确定对待处理文本的多层描边处理方式后,先确定绘制宽度最大的待处理描边(即最外层的描边),并按照多层描边处理方式确定该层待处理描边的对应的描边设置参数,并将描边设置参数设置给文字画笔。
具体的,对描边设置参数中绘制宽度的设置为:
S30311:按照所述多层描边处理方式设置绘制宽度最大的待处理描边对应的文字画笔的绘制宽度。
具体的,每一层描边的绘制宽度为上一层描边的绘制宽度与本层描边的描边宽度的和。其中,由于本实施例是从最底层的描边开始绘制,最底层的描边的绘制宽度为所有层描边的描边宽度的和。进一步的,根据上一层描边的绘制宽度与上一层描边的描边宽度的差(或者是所有剩余待处理描边的描边宽度的和)即可确认绘制宽度最大的待处理描边的绘制宽度。
其中描边宽度为描边视觉上描边的宽度,绘制宽度为实际绘制时描边的宽度。可以理解的是,最里层的绘制宽度与描边宽度一致,每层的绘制宽度减去向内一层的绘制宽度为该层的描边宽度。
S304:依据文字布局工具基于每一层待处理描边对应的所述描边设置参数在画布上绘制所述待处理文本。
具体的,在本实施例中,每次设置的是绘制宽度最大的待处理描边对应的描边设置参数,相应的,在依据文字布局工具绘制所述待处理文本时,具体为:
S3041:依据文字布局工具基于所述描边设置参数在画布上绘制所述待处理文本,以得到对应单层描边文本。
具体的,获取文本的文字布局工具,并将绘制宽度最大的待处理描边对应的文字画笔设置给文字布局工具。基于Staticlayout.Draw(Canvas)指令,由文字布局工具基于对应描边设置参数在画布上绘制待处理文本,从而得到绘制宽度最大的待处理描边对应的单层描边文本。此时,绘制宽度最大的待处理描边变换为原来下一顺位的待处理描边。
S3042:重新设置绘制宽度最大的待处理描边对应的文字画笔的描边设置参数,直至获得所有层的单层描边文本。
具体的,在得到单层描边文本后,若仍存在待处理描边,则返回至步骤S303,设置新的绘制宽度最大的待处理描边对应的文字画笔的描边设置参数,并依据文字布局工具基于新设置的描边设置参数在画布上绘制待处理文本,得到对应单层描边文本,直至获得所有待处理描边对应的单层描边文本。可以理解的是,假设多层描边效果对应的描边层数为n,则共进行n次描边设置参数设置的循环。
可以理解的是,在获得所有待处理描边对应的单层描边文本后,由这些单层描边在画布上组合成设定的多层描边。
S305:依据文字布局工具基于设定文字属性在画布上绘制所述待处理文本,以得到所述多层描边效果对应的描边效果文本。
具体的,重置文字画笔,将文字画笔中设置的描边设置参数恢复至初始无描边状态,并将文字画笔的文字属性设置为设定文字属性。其中设定文字属性与多层描边处理方式一一对应,即不同的多层描边处理方式对应不同的设定文字属性,例如设定文字属性中的字体颜色。
进一步的,将文字画笔设置给文字布局工具,并基于Staticlayout.Draw(Canvas)指令,由文字布局工具基于文字属性在画布上绘制待处理文本,从而得到待处理文本对应的正常文字,此时正常文字和步骤S304中得到的多层描边共同绘制在同一画布上,形成多层描边效果对应的描边效果文本。
图8是本申请实施例提供的一种多层描边效果对应描边效果文本的示意图。如图8所示,图中的正常文字设置为蓝色,并设置有三层描边,三层描边从里到外的描边颜色分别为黄色、黑色和白色,描边宽度均为1dp,则在绘制多层描边时,先设置最外层描边对应的文字画笔,即先将描边设置参数中的描边颜色设置为白色,绘制宽度设置为3dp,由文字布局工具基于设置的描边设置参数在画布上绘制得到白色宽度为3dp的第一层单层描边。
进一步的,设置第二层描边对应的文字画笔,即先将描边设置参数中的描边颜色设置为黑色,绘制宽度设置为2dp,由文字布局工具基于设置的描边设置参数在画布上绘制得到黑色宽度为2dp的第二层单层描边,并且第二层单层描边嵌入第一层单层描边,使得第一层单层描边显示出宽度为1dp描边效果。
进一步的,设置第三层描边对应的文字画笔,即先将描边设置参数中的描边颜色设置为黄色,绘制宽度设置为1dp,由文字布局工具基于设置的描边设置参数在画布上绘制得到黄色宽度为1dp的第三层单层描边,并且第三层单层描边嵌入第二层单层描边,使得第二层单层描边显示出宽度为1dp描边效果。
进一步的,重置文字画笔,将文字画笔中设置的描边设置参数恢复至初始无描边状态,并将文字画笔的文字属性中的字体颜色设置为蓝色,由文字布局工具基于设置的文字属性在画布上绘制得到蓝色的正常文字,并且正常文字嵌入第三层单层描边,使得第三层单层描边显示出宽度为1dp描边效果,最终得到如图8所述的多层描边效果。
S306:在所述描边文本框中显示所述描边效果文本。
上述,在接收到待处理文本后,基于对应的多层描边处理方式设置每一层待处理描边对应的文字画笔的描边设置参数,并由文字布局工具基于每一层待处理描边对应的描边设置参数在画布上绘制待处理文本,然后将文字画笔重置设置正常文字对应的文字属性参数,由文字布局工具基于文字属性参数在画布上绘制待处理文本,并形成多层描边效果对应的描边效果文本,实现丰富的多层描边显示效果。同时,基于多层描边之间的层级关系依次绘制对应描边,实现不同层级描边之间的配合,提高多层描边的显示效果。
图9给出了本申请实施例提供的一种文字描边效果实现装置的结构示意图。参考图9,该文字描边效果实现装置包括文本接收模块41、效果确定模块42、描边处理模块43和文本显示模块44。
其中,文本接收模块41,用于接收对描边文本框输入的待处理文本;效果确定模块42,用于基于设定的文字描边效果确定对应的描边处理方式,所述文字描边效果包括单层描边效果和多层描边效果;描边处理模块43,用于基于所述描边处理方式对所述待处理文本进行文字描边处理,以得到所述文字描边效果对应的描边效果文本;文本显示模块44,用于在所述描边文本框中显示所述描边效果文本。
上述,基于设定的文字描边效果确定对待处理文本的描边处理方式,并基于该描边处理方式对待处理文本进行文字描边处理,得到对应文字描边效果的描边效果文本,并在描边文本框中对描边效果文本进行显示,并且可根据文字效果需要将文字描边效果设定为单层描边效果或多层描边效果,满足更丰富的文字描边效果的需求。
本申请实施例还提供了一种计算机设备,该计算机设备可集成本申请实施例提供的文字描边效果实现装置。图10是本申请实施例提供的一种计算机设备的结构示意图。参考图10,该计算机设备包括:输入装置53、输出装置54、存储器52以及一个或多个处理器51;所述存储器52,用于存储一个或多个程序;当所述一个或多个程序被所述一个或多个处理器51执行,使得所述一个或多个处理器51实现如上述实施例提供的文字描边效果实现方法。其中输入装置53、输出装置54、存储器52和处理器51可以通过总线或者其他方式连接,图10中以通过总线连接为例。
存储器52作为一种计算设备可读存储介质,可用于存储软件程序、计算机可执行程序以及模块,如本申请任意实施例所述的文字描边效果实现方法对应的程序指令/模块(例如,文字描边效果实现装置中的文本接收模块41、效果确定模块42、描边处理模块43和文本显示模块44)。存储器52可主要包括存储程序区和存储数据区,其中,存储程序区可存储操作系统、至少一个功能所需的应用程序;存储数据区可存储根据设备的使用所创建的数据等。此外,存储器52可以包括高速随机存取存储器,还可以包括非易失性存储器,例如至少一个磁盘存储器件、闪存器件、或其他非易失性固态存储器件。在一些实例中,存储器52可进一步包括相对于处理器51远程设置的存储器,这些远程存储器可以通过网络连接至设备。上述网络的实例包括但不限于互联网、企业内部网、局域网、移动通信网及其组合。
输入装置53可用于接收输入的数字或字符信息,以及产生与设备的用户设置以及功能控制有关的键信号输入。输出装置54可包括显示屏等显示设备。
处理器51通过运行存储在存储器52中的软件程序、指令以及模块,从而执行设备的各种功能应用以及数据处理,即实现上述的文字描边效果实现方法。
上述提供的文字描边效果实现装置、设备和计算机可用于执行上述任意实施例提供的文字描边效果实现方法,具备相应的功能和有益效果。
本申请实施例还提供一种包含计算机可执行指令的存储介质,所述计算机可执行指令在由计算机处理器执行时用于执行如上述实施例提供的文字描边效果实现方法,该文字描边效果实现方法包括:接收对描边文本框输入的待处理文本;基于设定的文字描边效果确定对应的描边处理方式,所述文字描边效果包括单层描边效果和多层描边效果;基于所述描边处理方式对所述待处理文本进行文字描边处理,以得到所述文字描边效果对应的描边效果文本;在所述描边文本框中显示所述描边效果文本。
存储介质——任何的各种类型的存储器设备或存储设备。术语“存储介质”旨在包括:安装介质,例如CD-ROM、软盘或磁带装置;计算机系统存储器或随机存取存储器,诸如DRAM、DDR RAM、SRAM、EDO RAM,兰巴斯(Rambus)RAM等;非易失性存储器,诸如闪存、磁介质(例如硬盘或光存储);寄存器或其它相似类型的存储器元件等。存储介质可以还包括其它类型的存储器或其组合。另外,存储介质可以位于程序在其中被执行的第一计算机系统中,或者可以位于不同的第二计算机系统中,第二计算机系统通过网络(诸如因特网)连接到第一计算机系统。第二计算机系统可以提供程序指令给第一计算机用于执行。术语“存储介质”可以包括可以驻留在不同位置中(例如在通过网络连接的不同计算机系统中)的两个或更多存储介质。存储介质可以存储可由一个或多个处理器执行的程序指令(例如具体实现为计算机程序)。
当然,本申请实施例所提供的一种包含计算机可执行指令的存储介质,其计算机可执行指令不限于如上所述的文字描边效果实现方法,还可以执行本申请任意实施例所提供的文字描边效果实现方法中的相关操作。
上述实施例中提供的文字描边效果实现装置、设备及存储介质可执行本申请任意实施例所提供的文字描边效果实现方法,未在上述实施例中详尽描述的技术细节,可参见本申请任意实施例所提供的文字描边效果实现方法。
上述仅为本申请的较佳实施例及所运用的技术原理。本申请不限于这里所述的特定实施例,对本领域技术人员来说能够进行的各种明显变化、重新调整及替代均不会脱离本申请的保护范围。因此,虽然通过以上实施例对本申请进行了较为详细的说明,但是本申请不仅仅限于以上实施例,在不脱离本申请构思的情况下,还可以包括更多其他等效实施例,而本申请的范围由权利要求的范围决定。

Claims (14)

1.一种文字描边效果实现方法,其特征在于,包括:
接收对描边文本框输入的待处理文本;
基于设定的文字描边效果确定对应的描边处理方式,所述文字描边效果包括单层描边效果和多层描边效果;
基于所述描边处理方式对所述待处理文本进行文字描边处理,以得到所述文字描边效果对应的描边效果文本;
在所述描边文本框中显示所述描边效果文本。
2.根据权利要求1所述的文字描边效果实现方法,其特征在于,所述基于设定的文字描边效果确定对应的描边处理方式,包括:
基于所述单层描边效果确定对所述待处理文本的单层描边处理方式。
3.根据权利要求2所述的文字描边效果实现方法,其特征在于,所述基于所述描边处理方式对所述待处理文本进行文字描边处理,以得到所述文字描边效果对应的描边效果文本,包括:
按照所述单层描边处理方式设置文字画笔的描边设置参数,所述描边设置参数包括描边颜色、绘制宽度、画笔样式、拐角样式和画笔加粗中的至少一种;
依据文字布局工具基于所述描边设置参数在画布上绘制所述待处理文本;
将所述文字画笔的文字属性设置为设定文字属性;
依据文字布局工具基于所述设定文字属性在画布上绘制所述待处理文本,以得到所述单层描边效果对应的描边效果文本。
4.根据权利要求1所述的文字描边效果实现方法,其特征在于,所述基于设定的文字描边效果确定对应的描边处理方式,包括:
基于所述多层描边效果确定对所述待处理文字的多层描边处理方式。
5.根据权利要求4所述的文字描边效果实现方法,其特征在于,所述基于所述描边处理方式对所述待处理文本进行文字描边处理,以得到所述文字描边效果对应的描边效果文本,包括:
按照所述多层描边处理方式设置每一层待处理描边对应的文字画笔的描边设置参数,所述描边设置参数包括描边颜色、绘制宽度、画笔样式、拐角样式和画笔加粗中的至少一种;
依据文字布局工具基于每一层待处理描边对应的所述描边设置参数在画布上绘制所述待处理文本;
依据文字布局工具基于设定文字属性在画布上绘制所述待处理文本,以得到所述多层描边效果对应的描边效果文本。
6.根据权利要求5所述的文字描边效果实现方法,其特征在于,所述按照所述多层描边处理方式设置每一层待处理描边对应的文字画笔的描边设置参数,包括:
按照所述多层描边处理方式设置绘制宽度最大的待处理描边对应的文字画笔的描边设置参数;
相应的,所述依据文字布局工具基于每一层待处理描边对应的所述描边设置参数在画布上绘制所述待处理文本,包括:
依据文字布局工具基于所述描边设置参数在画布上绘制所述待处理文本,以得到对应单层描边文本;
重新设置绘制宽度最大的待处理描边对应的文字画笔的描边设置参数,直至获得所有层的单层描边文本。
7.根据权利要求6所述的文字描边效果实现方法,其特征在于,所述按照所述多层描边处理方式设置绘制宽度最大的待处理描边对应的文字画笔的描边设置参数,包括:
按照所述多层描边处理方式设置绘制宽度最大的待处理描边对应的文字画笔的绘制宽度,所述绘制宽度为上一层描边的绘制宽度与本层描边的描边宽度的和。
8.根据权利要求1-7任一项所述的文字描边效果实现方法,其特征在于,所述接收对描边文本框输入的待处理文本之后,还包括:
获取待处理文本的字间距宽度以及字号大小,并根据所述字间距宽度以及所述字号大小计算目标字间距比例;
依据字符间距工具将文字画笔的字间距比例设置为目标字间距比例。
9.根据权利要求1-7任一项所述的文字描边效果实现方法,其特征在于,所述基于所述描边处理方式对所述待处理文本进行文字描边处理之前,还包括:
确定描边绘制宽度,并基于所述描边绘制宽度沿纵向以及横向移动画布的位置。
10.根据权利要求9所述的文字描边效果实现方法,其特征在于,所述基于所述绘制宽度沿纵向以及横向移动画布的位置之前,还包括:
依据文字布局工具确定所述待处理文本的对应的视图高度和视图宽度;
基于描边绘制宽度以及所述视图高度和所述视图宽度,确定文本视图的实际高度和实际宽度。
11.根据权利要求10所述的文字描边效果实现方法,其特征在于,所述文本视图的实际高度为所述视图高度与两倍所述绘制宽度的和;所述文本视图的实际宽度为所述视图宽度与两倍所述绘制宽度的和。
12.一种文字描边效果实现装置,其特征在于,包括文本接收模块、效果确定模块、描边处理模块和文本显示模块,其中:
文本接收模块,用于接收对描边文本框输入的待处理文本;
效果确定模块,用于基于设定的文字描边效果确定对应的描边处理方式,所述文字描边效果包括单层描边效果和多层描边效果;
描边处理模块,用于基于所述描边处理方式对所述待处理文本进行文字描边处理,以得到所述文字描边效果对应的描边效果文本;
文本显示模块,用于在所述描边文本框中显示所述描边效果文本。
13.一种计算机设备,其特征在于,包括:存储器以及一个或多个处理器;
所述存储器,用于存储一个或多个程序;
当所述一个或多个程序被所述一个或多个处理器执行,使得所述一个或多个处理器实现如权利要求1-11任一所述的文字描边效果实现方法。
14.一种包含计算机可执行指令的存储介质,其特征在于,所述计算机可执行指令在由计算机处理器执行时用于执行如权利要求1-11任一所述的文字描边效果实现方法。
CN202011038012.5A 2020-09-28 2020-09-28 一种文字描边效果实现方法、装置、设备及存储介质 Pending CN112329383A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202011038012.5A CN112329383A (zh) 2020-09-28 2020-09-28 一种文字描边效果实现方法、装置、设备及存储介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202011038012.5A CN112329383A (zh) 2020-09-28 2020-09-28 一种文字描边效果实现方法、装置、设备及存储介质

Publications (1)

Publication Number Publication Date
CN112329383A true CN112329383A (zh) 2021-02-05

Family

ID=74304247

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202011038012.5A Pending CN112329383A (zh) 2020-09-28 2020-09-28 一种文字描边效果实现方法、装置、设备及存储介质

Country Status (1)

Country Link
CN (1) CN112329383A (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112862930A (zh) * 2021-03-15 2021-05-28 网易(杭州)网络有限公司 游戏场景的处理方法、装置及电子设备

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN105160646A (zh) * 2015-10-21 2015-12-16 广州视睿电子科技有限公司 一种字符描边实现方法和装置
CN108986193A (zh) * 2018-07-10 2018-12-11 武汉国遥新天地信息技术有限公司 一种三维文字描边绘制方法

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN105160646A (zh) * 2015-10-21 2015-12-16 广州视睿电子科技有限公司 一种字符描边实现方法和装置
CN108986193A (zh) * 2018-07-10 2018-12-11 武汉国遥新天地信息技术有限公司 一种三维文字描边绘制方法

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
将哥哥: "自定义TextViw实现文字描边功能", pages 1 - 2, Retrieved from the Internet <URL:https://blog.csdn.net/u011932309/article/details/95475986> *

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112862930A (zh) * 2021-03-15 2021-05-28 网易(杭州)网络有限公司 游戏场景的处理方法、装置及电子设备
CN112862930B (zh) * 2021-03-15 2024-04-12 网易(杭州)网络有限公司 游戏场景的处理方法、装置及电子设备

Similar Documents

Publication Publication Date Title
EP3742280A1 (en) Display annotation method, device, apparatus, and storage medium
CN110069204B (zh) 基于书写轨迹的图形处理方法、装置、设备及存储介质
CN108052580B (zh) 一种基于多层关联网络的时空数据沉浸式可视分析方法
CN110928459B (zh) 智能交互平板的书写操作方法、装置、设备和存储介质
EP3220249A1 (en) Method, device and terminal for implementing regional screen capture
CN109324722B (zh) 思维导图的节点添加方法、装置、设备及存储介质
CN109032446B (zh) 思维导图的节点联系生成方法、装置、设备及存储介质
CN108492349B (zh) 书写笔画的处理方法、装置、设备和存储介质
CN112748923A (zh) 一种可视化看板的创建方法、装置、电子设备和存储介质
CN107358228B (zh) 一种图像处理的方法、装置、设备及存储介质
JP3332166B2 (ja) 動画像の検索装置
CN112329383A (zh) 一种文字描边效果实现方法、装置、设备及存储介质
CN112698904A (zh) 一种界面渲染方法、系统、设备及计算机可读存储介质
CN112702561B (zh) 一种视频画面的移动方法、装置及电子设备
CN112329384A (zh) 一种文字阴影效果实现方法、装置、设备及存储介质
US10241651B2 (en) Grid-based rendering of nodes and relationships between nodes
US8203556B2 (en) System and method for generating parts catalog, and computer program product
CN112329385A (zh) 一种文字多层描边效果实现方法、装置、设备及存储介质
CN116862813A (zh) 一种用于扩展现实技术的颜色校准方法和系统
CN110427153B (zh) 书写内容显示方法、装置、设备及介质
CN113900620B (zh) 交互方法、装置、电子设备以及存储介质
EP0775980A2 (en) Image processing apparatus
JP3919163B2 (ja) 映像オブジェクト編集装置及び映像オブジェクト編集プログラム
CN113268189B (zh) 图集管理方法、装置、存储介质以及计算机设备
CN104090911A (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