CN112329386A - 一种文字渐变效果实现方法、装置、设备及存储介质 - Google Patents

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

Info

Publication number
CN112329386A
CN112329386A CN202011038832.4A CN202011038832A CN112329386A CN 112329386 A CN112329386 A CN 112329386A CN 202011038832 A CN202011038832 A CN 202011038832A CN 112329386 A CN112329386 A CN 112329386A
Authority
CN
China
Prior art keywords
text
effect
line
gradient
character
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.)
Granted
Application number
CN202011038832.4A
Other languages
English (en)
Other versions
CN112329386B (zh
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 CN202011038832.4A priority Critical patent/CN112329386B/zh
Publication of CN112329386A publication Critical patent/CN112329386A/zh
Application granted granted Critical
Publication of CN112329386B publication Critical patent/CN112329386B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

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/40Filling a planar surface by adding surface attributes, e.g. colour or texture
    • 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)
  • Image Generation (AREA)
  • Processing Or Creating Images (AREA)

Abstract

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

Description

一种文字渐变效果实现方法、装置、设备及存储介质
技术领域
本申请实施例涉及文字显示技术领域,尤其涉及一种文字渐变效果实现方法、装置、设备及存储介质。
背景技术
随着网络的发展,短视频应用也越来越受到人们的青睐,在制作短视频时,经常会在视频中添加歌词、字幕、封面标题等文字,并且在添加文字时会希望文字可以展现出不同的显示效果。
在实际应用中,文字渐变效果是常见的文字显示效果,但是目前系统(Android、iOS等系统)自带的TextView(系统中用来显示文字的视图)只能实现简单的文字显示效果,无法满足对文字渐变的显示需求。
发明内容
本申请实施例提供一种文字渐变效果实现方法、装置、设备及存储介质,以提供更丰富的文字渐变效果。
在第一方面,本申请实施例提供了一种文字渐变效果实现方法,包括:
接收对渐变文本框输入的待处理文本;
基于设定的文字渐变效果确定对应的渐变处理方式,所述文字渐变效果包括整体渐变效果和分行渐变效果;
基于所述渐变处理方式对所述待处理文本进行文字渐变处理,以得到所述文字渐变效果对应的渐变效果文本;
在所述渐变文本框中显示所述渐变效果文本。
在第二方面,本申请实施例提供了一种文字渐变效果实现装置,包括文本接收模块、效果确定模块、渐变处理模块和文本显示模块,其中:
文本接收模块,用于接收对渐变文本框输入的待处理文本;
效果确定模块,用于基于设定的文字渐变效果确定对应的渐变处理方式,所述文字渐变效果包括整体渐变效果和分行渐变效果;
渐变处理模块,用于基于所述渐变处理方式对所述待处理文本进行文字渐变处理,以得到所述文字渐变效果对应的渐变效果文本;
文本显示模块,用于在所述渐变文本框中显示所述渐变效果文本。
在第三方面,本申请实施例提供了一种计算机设备,包括:存储器以及一个或多个处理器;
所述存储器,用于存储一个或多个程序;
当所述一个或多个程序被所述一个或多个处理器执行,使得所述一个或多个处理器实现如第一方面所述的文字渐变效果实现方法。
在第四方面,本申请实施例提供了一种包含计算机可执行指令的存储介质,所述计算机可执行指令在由计算机处理器执行时用于执行如第一方面所述的文字渐变效果实现方法。
本申请实施例基于设定的文字渐变效果确定对待处理文本的渐变处理方式,并根据该渐变处理方式对待处理文本进行文字渐变处理,得到对应于文字渐变效果的渐变效果文本,并在渐变文本框中显示该渐变效果文本,并且可根据文字效果需要将文字渐变效果设定为整体渐变效果或分行渐变效果,满足更丰富的文字渐变效果的需求。
附图说明
图1是本申请实施例提供的一种文字渐变效果实现方法的流程图;
图2是本申请实施例提供的一种效果显示界面的示意图;
图3是本申请实施例提供的一种渐变效果文本的显示示意图;
图4是本申请实施例提供的另一种文字渐变效果实现方法的流程图;
图5是本申请实施例提供的一种整体横向渐变效果对应渐变效果文本的示意图;
图6是本申请实施例提供的一种整体纵向渐变效果对应渐变效果文本的示意图;
图7是本申请实施例提供的一种整体对角渐变效果对应渐变效果文本的示意图;
图8是本申请实施例提供的一种整体横向镜像渐变对应渐变效果文本的示意图;
图9是本申请实施例提供的另一种文字渐变效果实现方法的流程图;
图10是本申请实施例提供的一种分行重复渐变效果对应渐变效果文本的示意图;
图11是本申请实施例提供的一种分行对角渐变效果对应渐变效果文本的示意图;
图12是本申请实施例提供的一种分行纵向镜像渐变效果对应渐变效果文本的示意图;
图13是本申请实施例提供的一种分行横向镜像渐变效果对应渐变效果文本的示意图;
图14是本申请实施例提供的一种文字渐变效果实现装置的结构示意图;
图15是本申请实施例提供的一种计算机设备的结构示意图。
具体实施方式
为了使本申请的目的、技术方案和优点更加清楚,下面结合附图对本申请具体实施例作进一步的详细描述。可以理解的是,此处所描述的具体实施例仅仅用于解释本申请,而非对本申请的限定。另外还需要说明的是,为了便于描述,附图中仅示出了与本申请相关的部分而非全部内容。在更加详细地讨论示例性实施例之前应当提到的是,一些示例性实施例被描述成作为流程图描绘的处理或方法。虽然流程图将各项操作(或步骤)描述成顺序的处理,但是其中的许多操作可以被并行地、并发地或者同时实施。此外,各项操作的顺序可以被重新安排。当其操作完成时所述处理可以被终止,但是还可以具有未包括在附图中的附加步骤。所述处理可以对应于方法、函数、规程、子例程、子程序等等。
图1给出了本申请实施例提供的一种文字渐变效果实现方法的流程图,本申请实施例提供的文字渐变效果实现方法可以由文字渐变效果实现装置来执行,该文字渐变效果实现装置可以通过硬件和/或软件的方式实现,并集成在计算机设备中。
下述以文字渐变效果实现装置执行文字渐变效果实现方法为例进行描述。参考图1,该文字渐变效果实现方法包括:
S101:接收对渐变文本框输入的待处理文本。
示例性的,可在手机、平板电脑等计算机设备提供的效果显示界面中加入渐变文本框,并可通过点击渐变文本框进行文本输入,或对渐变文本框中的文本进行编辑。在完成文本的输入或编辑后,接收对渐变文本框输入的文本并将该文本作为待处理文本。其中待处理文本可理解为需要进行文字渐变处理的文本。
其中,渐变文本框可在接收并确认待处理文本后再加入效果显示界面中,还可以是将渐变文本框加入效果显示界面后,再通过点击渐变文本框输入待处理文本。
可选的,在对渐变文本框输入待处理文本之前,基于设定的文字渐变显示效果在渐变文本框中显示提示文本,例如基于整体渐变效果或分行渐变效果显示“点击输入文字”的提示文本,并在点击渐变文本框以进行待处理文本输入后进入文本输入界面(例如调用虚拟键盘进行文本输入),并取消提示文本的显示。
图2为本申请实施例提供的一种效果显示界面的示意图。以视频录制应用程序为例,启动视频录制应用并进入视频录制页面,在完成视频的录制后,进入效果显示界面(可通过封面设置按钮或字幕设置按钮进入效果显示界面,分别用于设置封面或字幕中显示的文字的显示效果),在本实施例中效果显示界面为在对应视频帧上进行显示效果设置的交互界面。如图2所示,在效果显示界面中加入渐变文本框(图中“点击输入文字”对应的位置),并在渐变文本框中显示“点击输入文字”的提示文本,通过点击提示文本即可进入文本输入界面,以向渐变文本框输入待处理文本。
可选的,在接收到待处理文本或检测到待处理文本的更新时,通过View.onDraw指令调用TextView组件,以进行接下来的文字绘制操作。
S102:基于设定的文字渐变效果确定对应的渐变处理方式,所述文字渐变效果包括整体渐变效果和分行渐变效果。
其中整体渐变效果可理解为将待处理文本的整体作为渐变处理对象对应的渐变效果,其对应的渐变处理方式是将待处理文本作为一个整体进行文字渐变处理。其中渐变处理可以是横向渐变处理、纵向渐变处理、对角渐变处理、镜像渐变处理等。
分行渐变效果可理解为将待处理文本的不同行文字单独作为渐变处理对象对应的渐变效果,其对应的渐变处理方式是是对待处理文本进行分行,再单独对每一行文本进行文字渐变处理,处理结果在不同行文字之间的渐变效果存在区别。可选的,对待处理文本的分行可以是单行分行,也可以是多行分行,并且不同行的文本可以设置不同的渐变效果。
在本实施例中,设定的文字渐变效果可以是默认的文字渐变效果,还可以是根据对文字渐变效果的切换操作或选择操作确定的文字渐变效果。例如,在效果显示界面中提供对应不同文字渐变效果的选择按钮,在点击对应的选择按钮后,对应的文字渐变效果即为设定的文字渐变效果。
进一步的,不同的文字渐变效果对应不同的渐变处理方式以及渐变文本框,可根据设定的文字渐变效果确定对应的渐变处理方式。
例如,在进入效果显示界面时,根据默认的文字渐变效果在效果显示界面加入渐变文本框,接收对该渐变文本框输入的待处理文本,并确定该渐变文本框对应的文字渐变效果,进而确定对应的渐变处理方式。在检测到切换操作或选择操作时,切换对应的渐变文本框,并确定该渐变文本框对应的文字渐变效果,进而确定对应的渐变处理方式。
S103:基于所述渐变处理方式对所述待处理文本进行文字渐变处理,以得到所述文字渐变效果对应的渐变效果文本。
示例性的,在接收到待处理文本并确定渐变处理方式后,基于确定的渐变处理方式对待处理文本进行文字渐变处理,并得到设定的文字渐变效果对应的渐变效果文本。
例如,对于整体渐变效果,其对应的渐变效果文本的渐变效果在整体上是连续的;对于分行渐变效果,其对应的渐变效果文本的渐变效果在相邻分行之间是独立的。
S104:在所述渐变文本框中显示所述渐变效果文本。
示例性的,在得到渐变效果文本后,在对应渐变文本框中显示该渐变效果文本。
可选的,可在渐变文本框中添加删除按钮或缩放按钮,以对该渐变文本框进行删除操作或缩放操作。在对渐变文本框经缩放操作后,对重新设置大小的待处理文本进行文字渐变处理,得到对应大小的渐变效果文本,并在渐变文本框中显示。另外,还可响应对渐变文本框的拖动操作,移动渐变文本框在效果显示界面中的位置。
图3为本申请实施例提供的一种渐变效果文本的显示示意图。如图3所述,在得到渐变效果文本后,在效果显示界面对渐变效果文本进行显示,图中渐变效果文本显示的渐变效果为整体横向渐变,即文本颜色沿横向方向渐变。并在对应渐变文本框的左上角和右下角添加了删除按钮和缩放按钮,用于对渐变文本框进行删除操作和缩放操作,在完成文字渐变效果的设置并播放对应视频时,会在视频画面对应的视频帧中显示该渐变效果文本,但不会显示文本框、删除按钮和缩放按钮。
上述,基于设定的文字渐变效果确定对待处理文本的渐变处理方式,并根据该渐变处理方式对待处理文本进行文字渐变处理,得到对应于文字渐变效果的渐变效果文本,并在渐变文本框中显示该渐变效果文本,并且可根据文字效果需要将文字渐变效果设定为整体渐变效果或分行渐变效果,满足更丰富的文字渐变效果的需求。
在上述实施例的基础上,图4为本申请实施例提供的另一种文字渐变效果实现方法的流程图,该文字渐变效果实现方法是对上述文字渐变效果实现方法的具体化。参考图4,该文字渐变效果实现方法包括:
S201:接收对渐变文本框输入的待处理文本。
S202:基于所述整体渐变效果确定对所述待处理文本的整体渐变处理方式。
本申请实施例以整体渐变效果作为设定的文字渐变效果为例进行描述。例如在进入效果显示界面时,默认设定的文字渐变效果为整体渐变效果,或者是通过对文字渐变效果的切换操作或选择操作确定整体渐变效果。
其中,整体渐变效果包括整体横向渐变效果、整体纵向渐变效果、整体对角渐变效果和整体镜像渐变效果中的至少一种,并且不同的整体渐变效果对应不同的整体渐变处理方式。
例如,对于整体横向渐变效果,对应颜色渐变的方向为沿着文字方向的横向;对于整体纵向渐变效果,对应颜色渐变的方向为沿着文字方向的纵向;对于整体对角渐变效果,对应颜色渐变的方向为沿着文字方向的对角方向;对于整体镜像渐变效果,对应文字颜色为镜像对称渐变。
S203:按照所述整体渐变处理方式设置线性渐变着色器的构造函数。
具体的,在确定对待处理文本的整体渐变处理方式后,按照该整体渐变处理方式调用线性渐变着色器(LinearGradient,Android系统中的线性渐变着色器),并设置线性渐变着色器中的构造函数。其中构造函数包括绘制起点、绘制终点、颜色数组、渐变比例和边缘填充模式中的至少一种。
本申请实施例提供的构造函数为:LinearGradient(float x0,float y0,floatx1,float y1,int[]colors,loat[]positions,TileMode tile)。其中float x0和floaty0为渐变绘制的绘制起点的横坐标和纵坐标,考虑到本实施例的绘制起点都是从视图(TextView,Android系统中用来显示文字的视图)的左上角开始,本实施例一般将横坐标和纵坐标设置为x0=0f、y0=0f。float x1和float y1为渐变绘制的绘制终点的横坐标和纵坐标。int[]colors为颜色数组,例如设置为红绿蓝三个颜色数组时,颜色数组设置为colors={Color.RED,Color.GREEN,Color.BLUE}。loat[]positions用于设置各颜色的渐变比例,若各颜色的渐变比例相同,设置为空即可。TileMode tile用于设置边缘填充模式,边缘填充模式在系统中对应的是Shader.TileMode,TileMode有三个类型:边缘复制(CLAMP)、重复(REPEAT)和镜像(MIRROR),例如将边缘填充模式设置为Shader.TileMode.CLAMP,则边缘填充模式为边缘复制。
具体的,对于不同的整体渐变效果,构造函数的设置应遵循以下原则:
基于整体横向渐变效果,将所述构造函数中的绘制起点和绘制终点分别设置为整体文字的左上角和右上角,即绘制终点的横坐标和纵坐标分别为Wt和0f,其中Wt为文字宽度,可通过文字布局工具(StaticLayout,Android系统中的文字布局工具,可用于文字测量)进行检测得到;
基于整体纵向渐变效果,将所述构造函数中的绘制起点和绘制终点分别设置为整体文字的左上角和左下角,即绘制终点的横坐标和纵坐标分别为0f和Ht,其中Ht为文字高度,可通过文字布局工具进行检测得到;
基于整体对角渐变效果,将所述构造函数中的绘制起点和绘制终点分别设置为整体文字的左上角和右下角,即绘制终点的横坐标和纵坐标分别为Wt和Ht;
基于整体镜像渐变效果,对称设置所述构造函数中的颜色数组,例如颜色数组设置为colors=[A,B,C,D,E,D,C,B,A],并且绘制起点和绘制终点与整体横向渐变效果或整体纵向渐变效果的设置一致,实现整体横向镜像渐变或整体纵向镜像渐变。
S204:依据所述线性渐变着色器设置文字画笔。
具体的,将设置好构造参数的线性渐变着色器设置给文字画笔(TextPaint,Android系统的文字画笔,支持文字绘制功能),例如基于mPaint.setShader(LinearGradient)将线性渐变着色器设置给文字画笔,这样下面在执行Draw的时候,使用的就是带有Shader效果的画笔了,绘制时会从Shader中获取颜色,也就是需要Shader告诉文字画笔某处的颜色值。
S205:依据文字布局工具基于所述文字画笔在画布上绘制所述待处理文本,以得到所述整体渐变效果对应的渐变效果文本。
具体的,在根据线性渐变着色器设置文字画笔后,获取文本的文字布局工具(StaticLayout),并将文字画笔设置给文字布局工具。基于Staticlayout.Draw(Canvas)指令,由文字布局工具基于该文字画笔在画布上绘制所述待处理文本,从而得到整体渐变效果对应的渐变效果文本。
图5是本申请实施例提供的一种整体横向渐变效果对应渐变效果文本的示意图,其中渐变数组设置为colors={Color.RED,Color.BLUE,Color.GREEN},绘制起点和绘制终点分别为待处理文本的左上角和右上角,图中的渐变颜色从左到右依次由红色渐变为蓝色,再由蓝色渐变为绿色。
图6是本申请实施例提供的一种整体纵向渐变效果对应渐变效果文本的示意图,其中渐变数组设置为colors={Color.RED,Color.BLUE,Color.GREEN},绘制起点和绘制终点分别为待处理文本的左上角和左下角,图中的渐变颜色从上到下依次由红色渐变为蓝色,再由蓝色渐变为绿色。
图7是本申请实施例提供的一种整体对角渐变效果对应渐变效果文本的示意图,其中渐变数组设置为colors={Color.RED,Color.BLUE,Color.GREEN},绘制起点和绘制终点分别为待处理文本的左上角和右下角,图中的渐变颜色从左上角到右下角依次由红色渐变为蓝色,再由蓝色渐变为绿色。
图8是本申请实施例提供的一种整体横向镜像渐变对应渐变效果文本的示意图,其中渐变数组设置为colors={Color.RED,Color.BLUE,Color.GREEN,Color.BLUE,Color.RED},绘制起点和绘制终点分别为待处理文本的左上角和右上角,图中的渐变颜色从左到右依次由红色渐变为蓝色,由蓝色渐变为绿色,由绿色渐变为蓝色,再由蓝色渐变为红色。
S206:在所述渐变文本框中显示所述渐变效果文本。
上述,在接收到待处理文本后,基于对应的整体渐变处理方式设置线性渐变着色器,然后根据线性渐变着色器设置文字画笔,再由文字布局工具基于文字画笔在画布上绘制待处理文本,以得到整体渐变效果对应的渐变效果文本,实现更丰富的整体渐变效果。
在上述实施例的基础上,图9为本申请实施例提供的另一种文字渐变效果实现方法的流程图,该文字渐变效果实现方法是对上述文字渐变效果实现方法的具体化。参考图9,该文字渐变效果实现方法包括:
S301:接收对渐变文本框输入的待处理文本。
S302:基于分行渐变效果确定对所述待处理文本的分行渐变处理方式。
本申请实施例以分行渐变效果作为设定的文字渐变效果为例进行描述。例如在进入效果显示界面时,默认设定的文字渐变效果为分行渐变效果,或者是通过对文字渐变效果的切换操作或选择操作确定分行渐变效果。
其中,分行渐变效果包括分行重复渐变效果、分行对角渐变效果、分行纵向镜像渐变效果和分行横向镜像渐变效果中的至少一种,并且不同的分行渐变效果对应不同的分行渐变处理方式。
例如,对于分行重复渐变效果,每个分行文字的颜色渐变方向均为沿着文字方向的纵向;对于分行对角渐变效果,每个分行文字的颜色渐变的方向为沿着对应分行文字方向的对角方向;对于分行纵向镜像渐变效果,每个分行文字的颜色渐变方向为沿着文字方向的纵向,并且相邻分行文字的颜色数组与相邻分行文字的颜色数组相反;对于分行横向镜像渐变,每个分行文字的颜色渐变方向为沿着文字方向的横向,并且相邻分行文字的颜色数组与相邻分行文字的颜色数组相反。
可选的,本实施例中分行渐变效果可以是单行渐变效果,还可以是多行渐变效果,即每个分行文字对应的文字行数可以是单行,也可以是多行。
S303:通过文字布局工具获取待处理文本的整体高度以及文字行数。
具体的,通过文字布局工具对待处理文本进行测量,得到待处理文本的整体高度以及文字行数。
S304:基于所述整体高度以及所述文字行数确定分行文字的文字高度。
具体的,在测量得到待处理文本的整体高度以及文字行数后,基于整体高度以及文字行数可确定每一行分行文字的文字高度。
例如,假设整体高度为H,文字行数为C,则整体高度和文字行数的商H/C则为每一单行文字的文字高度h,即h=H/C,若对应的分行渐变效果为多行渐变效果,则每一分行文字的文字高度为n*h,n为每一分行文字行数。可以理解的是,假设待处理文本有N行文字,若每一分行文字为单行,此时N*h=H,若每一分行文字为n行,此时N*n*h=H。
S305:获取所述待处理文本的最先待处理行文字。
具体的,在确定分行文字的文字高度后,获取待处理文本的最先待处理行文字。其中,最先待处理行文字为未进行文字渐变处理的最前分行的待处理行文字。
例如,假设是刚确定分行文字的文字高度(此时未绘制分行文字),最先待处理行文字为第一行的分行文字,则获取第一行的分行文字。在对第一行的分行文字进行绘制后,最先待处理行文字为第二行的分行文字,则获取第二行的分行文字,并以此类推。
S306:按照所述分行渐变处理方式设置所述待处理行文字对应线性渐变着色器的构造函数。
具体的,在确定对待处理文本的分行渐变处理方式并获取最先待处理行文字后,按照该分行渐变处理方式调用线性渐变着色器,并设置线性渐变着色器中的构造函数。其中构造函数包括绘制起点、绘制终点、颜色数组、渐变比例和边缘填充模式中的至少一种。
具体的,对性渐变着色器的构造函数的设置包括步骤S3061-S3063:
S3061:判断所述分行渐变效果是否为分行镜像渐变效果。若是,则跳转至步骤S3062,否则跳转至步骤S3063。
在本实施例中,在效果显示界面中添加对应不同渐变显示效果的选择按钮,根据被选中的选择按钮可确定对应的渐变显示效果,并判断该渐变显示效果是否为分行镜像渐变效果,若是,则跳转至步骤S3062,否则跳转至步骤S3063。
S3062:按照相邻两行文字的颜色数组相反的方式,设置所述最先待处理行文字对应线性渐变着色器的构造函数。
具体的,若所述分行渐变效果为分行镜像渐变效果,则按照相邻两行文字的颜色数组相反的方式,对线性渐变着色器的构造函数进行设置。
对于不同的分行纵向镜像渐变效果和分行横向镜像渐变效果,构造函数的设置应遵分别循以下原则:
基于分行纵向镜像渐变的分行渐变处理方式,将所述构造函数中的绘制起点和绘制终点分别设置为分行文字的左上角和左下角,并设置颜色数组与相邻一行文字对应的颜色数组相反,即绘制终点的横坐标和纵坐标分别为0f和n*h,颜色数组可设置为奇数行正常绘制,偶数行渐变颜色反转;
基于分行横向镜像渐变的分行渐变处理方式,将所述构造函数中的绘制起点和绘制终点分别为分行文字的左上角和右上角,并设置颜色数组与相邻一行文字对应的颜色数组相反,即绘制终点的横坐标和纵坐标分别为Wt和0f,颜色数组可设置为奇数行正常绘制,偶数行渐变颜色反转。
S3063:设置所述最先待处理行文字对应线性渐变着色器的构造函数。
若所述分行渐变效果不是分行镜像渐变效果,则确定分行渐变效果为分行重复渐变效果还是分行对角渐变效果,并根据对应的分行渐变处理方式,对最先待处理行文字对应线性渐变着色器的构造函数进行设置。
对于分行重复渐变效果和分行对角渐变效果,构造函数的设置应遵分别循以下原则:
基于分行重复渐变的分行渐变处理方式,将所述构造函数中的绘制起点和绘制终点分别设置为分行文字的左上角和左下角,即绘制终点的横坐标和纵坐标分别为0f和n*h。
基于分行对角渐变的分行渐变处理方式,将所述构造函数中的绘制起点和绘制终点分别设置为分行文字的左上角和右下角,即绘制终点的横坐标和纵坐标分别为Wt和n*h。
S307:依据所述线性渐变着色器设置文字画笔。
对文字画笔的设置可参照步骤S204,本实施例不再赘述。
S308:依据文字布局工具基于文字画笔在画布对应每一行文字的位置绘制所述待处理文本的每一行文字,以得到所述分行渐变效果对应的渐变效果文本。若仍存在待处理文本的最先待处理行文字,则返回至步骤S305重新获取待处理文本的最先待处理行文字,直至所有待处理行文字均进行了文字渐变处理
具体的,对待处理文本的绘制具体包括步骤S3081-S3082:
S3081:依据文字布局工具基于文字画笔在画布上绘制所述最先待处理行文字。
具体的,在设置文字画笔后,将文字画笔设置给文字布局工具,由文字布局工具基于该文字画笔在画布上绘制最先待处理行文字,从而得到分行渐变效果对应的分行渐变效果文本。
可以理解的是,在对最先待处理行文字进行文字渐变处理,并绘制得到分行渐变效果文本后,最先待处理行文字变为下一分行文字,直至所有待处理行文字均进行了文字渐变处理,由分行渐变效果文本依次组合成渐变效果文本。
S3082:沿文字高度方向平移画布分行文字的文字高度。
具体的,在完成述最先待处理行文字的绘制后,以分行文字的文字高度(n*h)对应的幅度沿文字高度方向(Y轴方向)平移画布,以使在绘制下一最先待处理行文字时,得到的下一个分行渐变效果文本位于本次分行渐变效果文本的下方。
进一步的,返回至步骤S305重新获取待处理文本的最先待处理行文字,直至所有待处理行文字均进行了文字渐变处理,即将步骤S305-S308循环执行N/n次(分行的数量)。
图10是本申请实施例提供的一种分行重复渐变效果对应渐变效果文本的示意图,其中渐变数组设置为colors={Color.RED,Color.BLUE,Color.GREEN},绘制起点和绘制终点分别为每一行文字的左上角和左下角,每一行的渐变颜色从上到下依次由红色渐变为蓝色,再由蓝色渐变为绿色。
图11是本申请实施例提供的一种分行对角渐变效果对应渐变效果文本的示意图,其中渐变数组设置为colors={Color.RED,Color.BLUE,Color.GREEN},绘制起点和绘制终点分别为每一行文字的左上角和右下角,每一行的渐变颜色从左上角到右下角依次由红色渐变为蓝色,再由蓝色渐变为绿色。
图12是本申请实施例提供的一种分行纵向镜像渐变效果对应渐变效果文本的示意图,其中奇数行的渐变数组设置为colors={Color.RED,Color.BLUE,Color.GREEN},偶数行的渐变数组设置为colors={Color.GREEN,Color.BLUE,Color.RED},绘制起点和绘制终点分别为每一行文字的左上角和左下角,奇数行的渐变颜色从上到下依次由红色渐变为蓝色,再由蓝色渐变为绿色,偶数行的渐变颜色从上到下依次由绿色渐变为蓝色,再由蓝色渐变为红色。
图13是本申请实施例提供的一种分行横向镜像渐变效果对应渐变效果文本的示意图,其中奇数行的渐变数组设置为colors={Color.RED,Color.BLUE,Color.GREEN},偶数行的渐变数组设置为colors={Color.GREEN,Color.BLUE,Color.RED},绘制起点和绘制终点分别为每一行文字的左上角和右上角,奇数行的渐变颜色从左到右依次由红色渐变为蓝色,再由蓝色渐变为绿色,偶数行的渐变颜色从左到右依次由绿色渐变为蓝色,再由蓝色渐变为红色。
S309:将画布回复到初始位置。
具体的,在所有待处理行文字均进行了文字渐变处理并得到渐变效果文本之后,将画布回复到初始位置,以恢复下一次文字绘制的绘制位置,在下一次切换渐变显示效果或更新待处理文本时,可在原来的位置重新绘制待处理文本。
S310:在所述渐变文本框中显示所述渐变效果文本。
上述,在接收到待处理文本后,将多行文字拆解为多个分行,基于对应的分行渐变处理方式设置线性渐变着色器,然后根据线性渐变着色器设置文字画笔,再由文字布局工具基于文字画笔在不同位置的画布上待处理行文字,以得到每个待处理行文字对应的分行渐变效果文本,由分行渐变效果文本可组合成分行渐变效果需要的渐变效果文本,实现更丰富的分行渐变效果。并且分行渐变效果不限于某种分行渐变效果,可将多种分行渐变效果复合在一个渐变效果文本中,比如在一些多人合唱的音乐应用歌词中,男声可设置一种分行渐变效果,女声设置一种分行渐变效果,合声再设置一种分行渐变效果,并且渐变的宽度也不限于每行字体的整体宽度,可以是每行字体的二分之一、三分之一宽度等(可通过不同的绘制终点位置进行设置),从而拓展出更多酷炫的高级文字渐变效果。
图14给出了本申请实施例提供的一种文字渐变效果实现装置的结构示意图。参考图14,该文字渐变效果实现装置包括文本接收模块41、效果确定模块42、渐变处理模块43和文本显示模块44。
其中,文本接收模块41,用于接收对渐变文本框输入的待处理文本;效果确定模块42,用于基于设定的文字渐变效果确定对应的渐变处理方式,所述文字渐变效果包括整体渐变效果和分行渐变效果;渐变处理模块43,用于基于所述渐变处理方式对所述待处理文本进行文字渐变处理,以得到所述文字渐变效果对应的渐变效果文本;文本显示模块44,用于在所述渐变文本框中显示所述渐变效果文本。
上述,基于设定的文字渐变效果确定对待处理文本的渐变处理方式,并根据该渐变处理方式对待处理文本进行文字渐变处理,得到对应于文字渐变效果的渐变效果文本,并在渐变文本框中显示该渐变效果文本,并且可根据文字效果需要将文字渐变效果设定为分行渐变效果或分行渐变效果,满足更丰富的文字渐变效果的需求。
本申请实施例还提供了一种计算机设备,该计算机设备可集成本申请实施例提供的文字渐变效果实现装置。图15是本申请实施例提供的一种计算机设备的结构示意图。参考图15,该计算机设备包括:输入装置53、输出装置54、存储器52以及一个或多个处理器51;所述存储器52,用于存储一个或多个程序;当所述一个或多个程序被所述一个或多个处理器51执行,使得所述一个或多个处理器51实现如上述实施例提供的文字渐变效果实现方法。其中输入装置53、输出装置54、存储器52和处理器51可以通过总线或者其他方式连接,图15中以通过总线连接为例。
存储器52作为一种计算设备可读存储介质,可用于存储软件程序、计算机可执行程序以及模块,如本申请任意实施例所述的文字渐变效果实现方法对应的程序指令/模块(例如,文字渐变效果实现装置中的文本接收模块51、效果确定模块52、渐变处理模块53和文本显示模块54)。存储器52可主要包括存储程序区和存储数据区,其中,存储程序区可存储操作系统、至少一个功能所需的应用程序;存储数据区可存储根据设备的使用所创建的数据等。此外,存储器52可以包括高速随机存取存储器,还可以包括非易失性存储器,例如至少一个磁盘存储器件、闪存器件、或其他非易失性固态存储器件。在一些实例中,存储器52可进一步包括相对于处理器51远程设置的存储器,这些远程存储器可以通过网络连接至设备。上述网络的实例包括但不限于互联网、企业内部网、局域网、移动通信网及其组合。
输入装置53可用于接收输入的数字或字符信息,以及产生与设备的用户设置以及功能控制有关的键信号输入。输出装置54可包括显示屏等显示设备。
处理器51通过运行存储在存储器52中的软件程序、指令以及模块,从而执行设备的各种功能应用以及数据处理,即实现上述的文字渐变效果实现方法。
上述提供的文字渐变效果实现装置、设备和计算机可用于执行上述任意实施例提供的文字渐变效果实现方法,具备相应的功能和有益效果。
本申请实施例还提供一种包含计算机可执行指令的存储介质,所述计算机可执行指令在由计算机处理器执行时用于执行如上述实施例提供的文字渐变效果实现方法,该文字渐变效果实现方法包括:接收对渐变文本框输入的待处理文本;基于设定的文字渐变效果确定对应的渐变处理方式,所述文字渐变效果包括整体渐变效果和分行渐变效果;基于所述渐变处理方式对所述待处理文本进行文字渐变处理,以得到所述文字渐变效果对应的渐变效果文本;在所述渐变文本框中显示所述渐变效果文本。
存储介质——任何的各种类型的存储器设备或存储设备。术语“存储介质”旨在包括:安装介质,例如CD-ROM、软盘或磁带装置;计算机系统存储器或随机存取存储器,诸如DRAM、DDR RAM、SRAM、EDO RAM,兰巴斯(Rambus)RAM等;非易失性存储器,诸如闪存、磁介质(例如硬盘或光存储);寄存器或其它相似类型的存储器元件等。存储介质可以还包括其它类型的存储器或其组合。另外,存储介质可以位于程序在其中被执行的第一计算机系统中,或者可以位于不同的第二计算机系统中,第二计算机系统通过网络(诸如因特网)连接到第一计算机系统。第二计算机系统可以提供程序指令给第一计算机用于执行。术语“存储介质”可以包括可以驻留在不同位置中(例如在通过网络连接的不同计算机系统中)的两个或更多存储介质。存储介质可以存储可由一个或多个处理器执行的程序指令(例如具体实现为计算机程序)。
当然,本申请实施例所提供的一种包含计算机可执行指令的存储介质,其计算机可执行指令不限于如上所述的文字渐变效果实现方法,还可以执行本申请任意实施例所提供的文字渐变效果实现方法中的相关操作。
上述实施例中提供的文字渐变效果实现装置、设备及存储介质可执行本申请任意实施例所提供的文字渐变效果实现方法,未在上述实施例中详尽描述的技术细节,可参见本申请任意实施例所提供的文字渐变效果实现方法。
上述仅为本申请的较佳实施例及所运用的技术原理。本申请不限于这里所述的特定实施例,对本领域技术人员来说能够进行的各种明显变化、重新调整及替代均不会脱离本申请的保护范围。因此,虽然通过以上实施例对本申请进行了较为详细的说明,但是本申请不仅仅限于以上实施例,在不脱离本申请构思的情况下,还可以包括更多其他等效实施例,而本申请的范围由权利要求的范围决定。

Claims (15)

1.一种文字渐变效果实现方法,其特征在于,包括:
接收对渐变文本框输入的待处理文本;
基于设定的文字渐变效果确定对应的渐变处理方式,所述文字渐变效果包括整体渐变效果和分行渐变效果;
基于所述渐变处理方式对所述待处理文本进行文字渐变处理,以得到所述文字渐变效果对应的渐变效果文本;
在所述渐变文本框中显示所述渐变效果文本。
2.根据权利要求1所述的文字渐变效果实现方法,其特征在于,所述基于设定的文字渐变效果确定渐变处理方式,包括:
基于所述整体渐变效果确定对所述待处理文本的整体渐变处理方式,所述整体渐变效果包括整体横向渐变效果、整体纵向渐变效果、整体对角渐变效果和整体镜像渐变效果中的至少一种。
3.根据权利要求2所述的文字渐变效果实现方法,其特征在于,所述基于所述渐变处理方式对所述待处理文本进行文字渐变处理,以得到所述文字渐变效果对应的渐变效果文本,包括:
按照所述整体渐变处理方式设置线性渐变着色器的构造函数,所述构造函数包括绘制起点、绘制终点、颜色数组、渐变比例和边缘填充模式中的至少一种;
依据所述线性渐变着色器设置文字画笔;
依据文字布局工具基于所述文字画笔在画布上绘制所述待处理文本,以得到所述整体渐变效果对应的渐变效果文本。
4.根据权利要求3所述的文字渐变效果实现方法,其特征在于,所述构造函数的设置包括以下至少一种:
基于整体横向渐变效果,将所述构造函数中的绘制起点和绘制终点分别设置为整体文字的左上角和右上角;
基于整体纵向渐变效果,将所述构造函数中的绘制起点和绘制终点分别设置为整体文字的左上角和左下角;
基于整体对角渐变效果,将所述构造函数中的绘制起点和绘制终点分别设置为整体文字的左上角和右下角;
基于整体镜像渐变效果,对称设置所述构造函数中的颜色数组。
5.根据权利要求1所述的文字渐变效果实现方法,其特征在于,所述基于设定的文字渐变效果确定渐变处理方式,包括:
基于分行渐变效果确定对所述待处理文本的分行渐变处理方式,所述分行渐变效果包括分行重复渐变效果、分行对角渐变效果、分行纵向镜像渐变效果和分行横向镜像渐变效果中的至少一种。
6.根据权利要求5所述的文字渐变效果实现方法,其特征在于,所述基于所述渐变处理方式对所述待处理文本进行文字渐变处理,以得到所述文字渐变效果对应的渐变效果文本,包括:
按照所述分行渐变处理方式设置线性渐变着色器的构造函数,所述构造函数包括绘制起点、绘制终点、颜色数组、渐变比例和边缘填充模式中的至少一种;
依据所述线性渐变着色器设置文字画笔;
依据文字布局工具基于文字画笔在画布对应每一行文字的位置绘制所述待处理文本的每一行文字,以得到所述分行渐变效果对应的渐变效果文本。
7.根据权利要求6所述的文字渐变效果实现方法,其特征在于,所述构造函数的设置包括以下至少一种:
基于分行重复渐变的分行渐变处理方式,将所述构造函数中的绘制起点和绘制终点分别设置为分行文字的左上角和左下角;
基于分行对角渐变的分行渐变处理方式,将所述构造函数中的绘制起点和绘制终点分别设置为分行文字的左上角和右下角;
基于分行纵向镜像渐变的分行渐变处理方式,将所述构造函数中的绘制起点和绘制终点分别设置为分行文字的左上角和左下角,并设置颜色数组与相邻一行文字对应的颜色数组相反;
基于分行横向镜像渐变的分行渐变处理方式,将所述构造函数中的绘制起点和绘制终点分别为分行文字的左上角和右上角,并设置颜色数组与相邻一行文字对应的颜色数组相反。
8.根据权利要求6所述的文字渐变效果实现方法,其特征在于,所述按照所述分行渐变处理方式设置线性渐变着色器的构造函数之前,还包括:
通过文字布局工具获取待处理文本的整体高度以及文字行数;
基于所述整体高度以及所述文字行数确定分行文字的文字高度;
相应的,所述按照所述分行渐变处理方式设置线性渐变着色器的构造函数,包括:
获取所述待处理文本的最先待处理行文字,所述最先待处理行文字为未进行文字渐变处理的最前分行的待处理行文字;
按照所述分行渐变处理方式设置所述待处理行文字对应线性渐变着色器的构造函数。
9.根据权利要求8所述的文字渐变效果实现方法,其特征在于,所述按照所述分行渐变处理方式设置线性渐变着色器的构造函数,包括:
若所述分行渐变效果为分行镜像渐变效果,则按照相邻两行文字的颜色数组相反的方式,设置所述最先待处理行文字对应线性渐变着色器的构造函数。
10.根据权利要求8所述的文字渐变效果实现方法,其特征在于,所述按照所述分行渐变处理方式设置线性渐变着色器的构造函数,包括:
若所述分行渐变效果不是分行镜像渐变效果,则设置所述最先待处理行文字对应线性渐变着色器的构造函数。
11.根据权利要求10所述的文字渐变效果实现方法,其特征在于,所述依据文字布局工具基于文字画笔在画布对应每一行文字的位置绘制所述待处理文本的每一行文字,包括:
依据文字布局工具基于文字画笔在画布上绘制所述最先待处理行文字;
沿文字高度方向平移画布分行文字的文字高度,并重新获取所述待处理文本的最先待处理行文字,直至所有待处理行文字均进行了文字渐变处理。
12.根据权利要求11所述的文字渐变效果实现方法,其特征在于,所述所有待处理行文字均进行了文字渐变处理之后,还包括:
将画布回复到初始位置,以恢复下一次文字绘制的绘制位置。
13.一种文字渐变效果实现装置,其特征在于,包括文本接收模块、效果确定模块、渐变处理模块和文本显示模块,其中:
文本接收模块,用于接收对渐变文本框输入的待处理文本;
效果确定模块,用于基于设定的文字渐变效果确定对应的渐变处理方式,所述文字渐变效果包括整体渐变效果和分行渐变效果;
渐变处理模块,用于基于所述渐变处理方式对所述待处理文本进行文字渐变处理,以得到所述文字渐变效果对应的渐变效果文本;
文本显示模块,用于在所述渐变文本框中显示所述渐变效果文本。
14.一种计算机设备,其特征在于,包括:存储器以及一个或多个处理器;
所述存储器,用于存储一个或多个程序;
当所述一个或多个程序被所述一个或多个处理器执行,使得所述一个或多个处理器实现如权利要求1-12任一所述的文字渐变效果实现方法。
15.一种包含计算机可执行指令的存储介质,其特征在于,所述计算机可执行指令在由计算机处理器执行时用于执行如权利要求1-12任一所述的文字渐变效果实现方法。
CN202011038832.4A 2020-09-28 2020-09-28 一种文字渐变效果实现方法、装置、设备及存储介质 Active CN112329386B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202011038832.4A CN112329386B (zh) 2020-09-28 2020-09-28 一种文字渐变效果实现方法、装置、设备及存储介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202011038832.4A CN112329386B (zh) 2020-09-28 2020-09-28 一种文字渐变效果实现方法、装置、设备及存储介质

Publications (2)

Publication Number Publication Date
CN112329386A true CN112329386A (zh) 2021-02-05
CN112329386B CN112329386B (zh) 2024-08-27

Family

ID=74304088

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202011038832.4A Active CN112329386B (zh) 2020-09-28 2020-09-28 一种文字渐变效果实现方法、装置、设备及存储介质

Country Status (1)

Country Link
CN (1) CN112329386B (zh)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113628306A (zh) * 2021-08-11 2021-11-09 广州虎牙科技有限公司 文本显示方法、装置、电子设备及可读存储介质
CN114092604A (zh) * 2021-11-09 2022-02-25 北京小米移动软件有限公司 图像生成方法、装置、设备及存储介质

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107608671A (zh) * 2017-08-22 2018-01-19 北京京东尚科信息技术有限公司 一种实现文字颜色渐变的方法和装置

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107608671A (zh) * 2017-08-22 2018-01-19 北京京东尚科信息技术有限公司 一种实现文字颜色渐变的方法和装置

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
BENIO: "实现TextView文本颜色渐变的骚操作", pages 1 - 9, Retrieved from the Internet <URL:https://juejin.cn/post/6844904146936545287> *

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113628306A (zh) * 2021-08-11 2021-11-09 广州虎牙科技有限公司 文本显示方法、装置、电子设备及可读存储介质
CN114092604A (zh) * 2021-11-09 2022-02-25 北京小米移动软件有限公司 图像生成方法、装置、设备及存储介质

Also Published As

Publication number Publication date
CN112329386B (zh) 2024-08-27

Similar Documents

Publication Publication Date Title
CN112329386A (zh) 一种文字渐变效果实现方法、装置、设备及存储介质
US5283562A (en) Map display apparatus
CN109584366B (zh) 一种地形渲染方法、装置、设备及可读存储介质
CN113590066A (zh) 全自动实现多屏拼接方法、装置、设备及存储介质
EP3301908A1 (en) Numerical image conversion method and device, and storage medium and device
JP2005189937A (ja) グラデーション画像作成装置及びグラデーション画像作成方法
CN102541491A (zh) 移动终端界面切换方法及系统
CN112329384A (zh) 一种文字阴影效果实现方法、装置、设备及存储介质
CN104918073A (zh) 一种图像的显示方法及终端
CN115147281A (zh) 一种图像参数调整方法、装置、设备及存储介质
CN114995706A (zh) 一种元素显示方法、装置、设备及存储介质
JPH0469472B2 (zh)
CN112256163B (zh) 拼接式显示屏配屏方法、装置和系统
EP2797072B1 (en) Image raster rotation
CN112329383A (zh) 一种文字描边效果实现方法、装置、设备及存储介质
CN113268189B (zh) 图集管理方法、装置、存储介质以及计算机设备
JP2004348755A (ja) 電子ブック表示制御装置
JPH09198499A (ja) 画像処理方法及び装置
JP3580685B2 (ja) 電子ブック表示制御装置
JPH0411908B2 (zh)
CN115239560A (zh) 一种图像超分辨率处理方法、装置、设备及存储介质
JP2006261887A (ja) 画像処理回路、画像処理方法、電気光学装置
CN117491852A (zh) 测试流程的生成方法、装置和计算机可读存储介质
JPH09204423A (ja) 表データ処理装置
JPH10285389A (ja) 画像処理方法、画像処理装置、および、記録媒体

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