CN111460761B - 文字变形方法、介质、设备及装置 - Google Patents
文字变形方法、介质、设备及装置 Download PDFInfo
- Publication number
- CN111460761B CN111460761B CN202010200324.5A CN202010200324A CN111460761B CN 111460761 B CN111460761 B CN 111460761B CN 202010200324 A CN202010200324 A CN 202010200324A CN 111460761 B CN111460761 B CN 111460761B
- Authority
- CN
- China
- Prior art keywords
- bezier curve
- order bezier
- deformation
- coordinate
- point coordinate
- 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
Images
Landscapes
- Controls And Circuits For Display Device (AREA)
- Image Generation (AREA)
Abstract
本发明公开了一种文字变形方法及装置,该方法包括:获取待变形的一阶贝塞尔曲线的起始点坐标和终点坐标,以计算一阶贝塞尔曲线的中点坐标,并将该坐标作为控制点坐标,以使一阶贝塞尔曲线成为二阶贝塞尔曲线;采用ffd变形对待变形文字进行变形,并获取变形后该二阶贝塞尔曲线的中点坐标,根据中点坐标和变形后的控制点坐标计算控制点偏移坐标,将变形后的控制点偏移坐标翻倍之后再加上变形后的中点坐标,以获取新的控制点坐标,根据新的控制点坐标对变形后由一阶贝塞尔曲线变成的二阶贝塞尔曲线进行调整;由此,通过对ffd变形后的结果进行修正,无需增加曲线数量,从而不仅不会影响后期渲染性能,而且还提高了变形文字变形后的表现力。
Description
技术领域
本发明涉及文字处理技术领域,特别涉及一种文字变形方法、一种计算机可读存储介质、一种计算机设备以及一种文字变形装置。
背景技术
相关技术中,矢量文字采用自由曲面变形(ffd)方法进行变形后,由于该变形方法的原因,变形后的矢量文字通常会存在笔画不连续或者不等宽的情况,现有的解决方法通常是在变形前增加采样点,把每段直线拆分成多段,以解决该问题,但是通过增加采样点的方式不仅增加了数据量,影响后期的渲染性能,而且还会导致多段直线之间不光滑,从而降低了变形文字变形后的表现力。
发明内容
本发明旨在至少在一定程度上解决上述技术中的技术问题之一。为此,本发明的一个目的在于提出一种文字变形方法,通过对ffd变形后的结果进行修正,无需增加曲线数量,从而不仅不会影响后期渲染性能,而且还提高了变形文字变形后的表现力。
本发明的第二个目的在于提出一种计算机可读存储介质。
本发明的第三个目的在于提出一种计算机设备。
本发明的第四个目的在于提出一种文字变形装置。
为达到上述目的,本发明第一方面实施例提出了一种文字变形方法,包括以下步骤:获取待变形文字的路径信息,其中,所述路径信息包括一阶贝塞尔曲线的起始点坐标和终点坐标;根据所述一阶贝塞尔曲线的起始点坐标和终点坐标计算所述一阶贝塞尔曲线的中点坐标,并将所述一阶贝塞尔曲线的中点坐标作为控制点坐标,以使所述一阶贝塞尔曲线成为二阶贝塞尔曲线;采用自由曲面变形方法对所述待变形文字进行变形,并获取变形后由一阶贝塞尔曲线变成的二阶贝塞尔曲线的起始点坐标、控制点坐标和终点坐标;根据所述变形后由一阶贝塞尔曲线变成的二阶贝塞尔曲线的起始点坐标、控制点坐标和终点坐标计算变形后由一阶贝塞尔曲线变成的二阶贝塞尔曲线的中点坐标;根据所述变形后由一阶贝塞尔曲线变成的二阶贝塞尔曲线的控制点坐标和所述变形后由一阶贝塞尔曲线变成的二阶贝塞尔曲线的中点坐标计算所述变形后由一阶贝塞尔曲线变成的二阶贝塞尔曲线的控制点偏移坐标;将所述变形后由一阶贝塞尔曲线变成的二阶贝塞尔曲线的控制点偏移坐标翻倍之后再加上所述变形后由一阶贝塞尔曲线变成的二阶贝塞尔曲线的中点坐标,以获取新的控制点坐标;根据所述新的控制点坐标对所述变形后由一阶贝塞尔曲线变成的二阶贝塞尔曲线进行调整。
根据本发明实施例的文字变形方法,首先获取待变形文字的路径信息,其中,路径信息包括一阶贝塞尔曲线的起始点坐标和终点坐标;接着根据一阶贝塞尔曲线的起始点坐标和终点坐标计算一阶贝塞尔曲线的中点坐标,并将一阶贝塞尔曲线的中点坐标作为控制点坐标,以使一阶贝塞尔曲线成为二阶贝塞尔曲线;再接着采用自由曲面变形方法对待变形文字进行变形,并获取变形后由一阶贝塞尔曲线变成的二阶贝塞尔曲线的起始点坐标、控制点坐标和终点坐标;再接着根据变形后由一阶贝塞尔曲线变成的二阶贝塞尔曲线的起始点坐标、控制点坐标和终点坐标计算变形后由一阶贝塞尔曲线变成的二阶贝塞尔曲线的中点坐标;然后接着根据变形后由一阶贝塞尔曲线变成的二阶贝塞尔曲线的控制点坐标和变形后由一阶贝塞尔曲线变成的二阶贝塞尔曲线的中点坐标计算变形后由一阶贝塞尔曲线变成的二阶贝塞尔曲线的控制点偏移坐标;再接着将变形后由一阶贝塞尔曲线变成的二阶贝塞尔曲线的控制点偏移坐标翻倍之后再加上变形后由一阶贝塞尔曲线变成的二阶贝塞尔曲线的中点坐标,以获取新的控制点坐标;最后根据新的控制点坐标对变形后由一阶贝塞尔曲线变成的二阶贝塞尔曲线进行调整;由此,通过对ffd变形后的结果进行修正,无需增加曲线数量,从而不仅不会影响后期渲染性能,而且还提高了变形文字变形后的表现力。
另外,根据本发明上述实施例提出的文字变形方法还可以具有如下附加的技术特征:
可选地,根据以下公式计算所述一阶贝塞尔曲线的中点坐标:
B=0.5*(B0+B1)
其中,B表示变形前的一阶贝塞尔曲线的中点坐标,B0表示变形前的一阶贝塞尔曲线的起始点坐标,B1表示变形前的一阶贝塞尔曲线的终点坐标。
可选地,根据以下公式计算所述变形后由一阶贝塞尔曲线变成的二阶贝塞尔曲线的中点坐标:
P=0.5(P1+0.5(P0+P2))
其中,P表示变形后由一阶贝塞尔曲线变成的二阶贝塞尔曲线的中点坐标,P0表示变形后由一阶贝塞尔曲线变成的二阶贝塞尔曲线的起始点坐标,P1表示变形后由一阶贝塞尔曲线变成的二阶贝塞尔曲线的控制点坐标,P2表示变形后由一阶贝塞尔曲线变成的二阶贝塞尔曲线的终点坐标。
可选地,所述变形后由一阶贝塞尔曲线变成的二阶贝塞尔曲线的控制点偏移坐标为所述变形后由一阶贝塞尔曲线变成的二阶贝塞尔曲线的控制点坐标减去所述变形后由一阶贝塞尔曲线变成的二阶贝塞尔曲线的中点坐标。
为达到上述目的,本发明第二方面实施例提出了一种计算机可读存储介质,其上存储有文字变形程序,该文字变形程序被处理器执行时实现如上述的文字变形方法。
根据本发明实施例的计算机可读存储介质,通过存储文字变形程序,以使得处理器在执行该文字变形程序时,实现如上述的文字变形方法,从而不仅不会影响后期渲染性能,而且还提高了变形文字变形后的表现力。
为达到上述目的,本发明第三方面实施例提出了一种计算机设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述计算机程序时,实现如上述的文字变形方法。
根据本发明实施例的计算机设备,通过存储器对文字变形程序进行存储,以使得处理器在运行存储器上存储的文字变形程序时,实现如上述的文字变形方法,从而不仅不会影响后期渲染性能,而且还提高了变形文字变形后的表现力。
为达到上述目的,本发明第四方面实施例提出了一种文字变形装置,包括:获取模块,用于获取待变形文字的路径信息,其中,所述路径信息包括一阶贝塞尔曲线的起始点坐标和终点坐标;第一计算模块,用于根据所述一阶贝塞尔曲线的起始点坐标和终点坐标计算所述一阶贝塞尔曲线的中点坐标,并将所述一阶贝塞尔曲线的中点坐标作为控制点坐标,以使所述一阶贝塞尔曲线成为二阶贝塞尔曲线;变形模块,用于采用自由曲面变形方法对所述待变形文字进行变形,并获取变形后由一阶贝塞尔曲线变成的二阶贝塞尔曲线的起始点坐标、控制点坐标和终点坐标;第二计算模块,用于根据所述变形后由一阶贝塞尔曲线变成的二阶贝塞尔曲线的起始点坐标、控制点坐标和终点坐标计算变形后由一阶贝塞尔曲线变成的二阶贝塞尔曲线的中点坐标;第三计算模块,用于根据所述变形后由一阶贝塞尔曲线变成的二阶贝塞尔曲线的控制点坐标和所述变形后由一阶贝塞尔曲线变成的二阶贝塞尔曲线的中点坐标计算所述变形后由一阶贝塞尔曲线变成的二阶贝塞尔曲线的控制点偏移坐标;第四计算模块,用于将所述变形后由一阶贝塞尔曲线变成的二阶贝塞尔曲线的控制点偏移坐标翻倍之后再加上所述变形后由一阶贝塞尔曲线变成的二阶贝塞尔曲线的中点坐标,以获取新的控制点坐标;调整模块,用于根据所述新的控制点坐标对所述变形后由一阶贝塞尔曲线变成的二阶贝塞尔曲线进行调整。
根据本发明实施例的一种文字变形装置,通过获取模块获取待变形文字的路径信息,其中,路径信息包括一阶贝塞尔曲线的起始点坐标和终点坐标;接着通过第一计算模块根据一阶贝塞尔曲线的起始点坐标和终点坐标计算一阶贝塞尔曲线的中点坐标,并将一阶贝塞尔曲线的中点坐标作为控制点坐标,以使一阶贝塞尔曲线成为二阶贝塞尔曲线;再接着通过变形模块采用自由曲面变形方法对待变形文字进行变形,并获取变形后由一阶贝塞尔曲线变成的二阶贝塞尔曲线的起始点坐标、控制点坐标和终点坐标;再接着通过第二计算模块根据变形后由一阶贝塞尔曲线变成的二阶贝塞尔曲线的起始点坐标、控制点坐标和终点坐标计算变形后由一阶贝塞尔曲线变成的二阶贝塞尔曲线的中点坐标;然后通过第三计算模块根据变形后由一阶贝塞尔曲线变成的二阶贝塞尔曲线的控制点坐标和变形后由一阶贝塞尔曲线变成的二阶贝塞尔曲线的中点坐标计算变形后由一阶贝塞尔曲线变成的二阶贝塞尔曲线的控制点偏移坐标;再通过第四模块将变形后由一阶贝塞尔曲线变成的二阶贝塞尔曲线的控制点偏移坐标翻倍之后再加上变形后由一阶贝塞尔曲线变成的二阶贝塞尔曲线的中点坐标,以获取新的控制点坐标;最后通过调整模块根据新的控制点坐标对变形后由一阶贝塞尔曲线变成的二阶贝塞尔曲线进行调整;由此,通过对ffd变形后的结果进行修正,无需增加曲线数量,从而不仅不会影响后期渲染性能,而且还提高了变形文字变形后的表现力。
另外,根据本发明上述实施例提出的文字变形装置还可以具有如下附加的技术特征:
可选地,根据以下公式计算所述一阶贝塞尔曲线的中点坐标:
B=0.5*(B0+B1)
其中,B表示变形前的一阶贝塞尔曲线的中点坐标,B0表示变形前的一阶贝塞尔曲线的起始点坐标,B1表示变形前的一阶贝塞尔曲线的终点坐标。
可选地,根据以下公式计算所述变形后由一阶贝塞尔曲线变成的二阶贝塞尔曲线的中点坐标:
P=0.5(P1+0.5(P0+P2))
其中,P表示变形后由一阶贝塞尔曲线变成的二阶贝塞尔曲线的中点坐标,P0表示变形后由一阶贝塞尔曲线变成的二阶贝塞尔曲线的起始点坐标,P1表示变形后由一阶贝塞尔曲线变成的二阶贝塞尔曲线的控制点坐标,P2表示变形后由一阶贝塞尔曲线变成的二阶贝塞尔曲线的终点坐标。
可选地,所述变形后由一阶贝塞尔曲线变成的二阶贝塞尔曲线的控制点偏移坐标为所述变形后由一阶贝塞尔曲线变成的二阶贝塞尔曲线的控制点坐标减去所述变形后由一阶贝塞尔曲线变成的二阶贝塞尔曲线的中点坐标。
附图说明
图1为根据本发明实施例的文字变形方法的流程示意图;
图2为根据本发明实施例的文字变形装置的方框示意图。
具体实施方式
下面详细描述本发明的实施例,所述实施例的示例在附图中示出,其中自始至终相同或类似的标号表示相同或类似的元件或具有相同或类似功能的元件。下面通过参考附图描述的实施例是示例性的,旨在用于解释本发明,而不能理解为对本发明的限制。
为了更好的理解上述技术方案,下面将参照附图更详细地描述本发明的示例性实施例。虽然附图中显示了本发明的示例性实施例,然而应当理解,可以以各种形式实现本发明而不应被这里阐述的实施例所限制。相反,提供这些实施例是为了能够更透彻地理解本发明,并且能够将本发明的范围完整的传达给本领域的技术人员。
为了更好的理解上述技术方案,下面将结合说明书附图以及具体的实施方式对上述技术方案进行详细的说明。
图1为根据本发明实施例的文字变形方法的流程示意图;如图1所示,该文字变形方法包括以下步骤:
步骤101,获取待变形文字的路径信息,其中,路径信息包括一阶贝塞尔曲线的起始点坐标和终点坐标。
需要说明的是,路径信息包括多段封闭路径,每段封闭路径由多段直线和/或二次贝塞尔曲线首尾连接而成;。
其中,直线也可以理解为一阶贝塞尔曲线,其由起始点和终点两个信息构成。
步骤102,根据一阶贝塞尔曲线的起始点坐标和终点坐标计算一阶贝塞尔曲线的中点坐标,并将一阶贝塞尔曲线的中点坐标作为控制点坐标,以使一阶贝塞尔曲线成为二阶贝塞尔曲线。
也就是说,将待变形文字路径中的所有一阶贝塞尔曲线的中点作为控制点,使该一阶贝塞尔曲线转化为二阶贝塞尔曲线,且此时转化成的二阶贝塞尔曲线的控制点在二阶贝塞尔曲线的中点上。
需要说明的是,二阶贝塞尔曲线由起始点、控制点和终点三个信息构成。
作为一个具体实施例,根据以下公式计算一阶贝塞尔曲线的中点坐标:
B=0.5*(B0+B1)
其中,B表示变形前的一阶贝塞尔曲线的中点坐标,B0表示变形前的一阶贝塞尔曲线的起始点坐标,B1表示变形前的一阶贝塞尔曲线的终点坐标。
也就是说,通过一阶贝塞尔曲线的起始点坐标和终点坐标可以计算出一阶贝塞尔曲线的中点坐标。
步骤103,采用自由曲面变形方法对待变形文字进行变形,并获取变形后由一阶贝塞尔曲线变成的二阶贝塞尔曲线的起始点坐标、控制点坐标和终点坐标。
需要说明的是,对待变形文字采用自由曲面变形方法变形后,可以通过变形前的由一阶贝塞尔曲线转化成的二阶贝塞尔曲线的起始点坐标、控制点坐标和终点坐标获取变形后的由一阶贝塞尔曲线转化成的二阶贝塞尔曲线的起始点坐标、控制点坐标和终点坐标。
另外,由于二阶贝塞尔曲线的特性,变形后的二阶贝塞尔曲线的控制点往往不在曲线上。
步骤104,根据变形后由一阶贝塞尔曲线变成的二阶贝塞尔曲线的起始点坐标、控制点坐标和终点坐标计算变形后由一阶贝塞尔曲线变成的二阶贝塞尔曲线的中点坐标。
作为一个具体实施例,根据以下公式计算变形后由一阶贝塞尔曲线变成的二阶贝塞尔曲线的中点坐标:
P=0.5(P1+0.5(P0+P2))
其中,P表示变形后由一阶贝塞尔曲线变成的二阶贝塞尔曲线的中点坐标,P0表示变形后由一阶贝塞尔曲线变成的二阶贝塞尔曲线的起始点坐标,P1表示变形后由一阶贝塞尔曲线变成的二阶贝塞尔曲线的控制点坐标,P2表示变形后由一阶贝塞尔曲线变成的二阶贝塞尔曲线的终点坐标。
步骤105,根据变形后由一阶贝塞尔曲线变成的二阶贝塞尔曲线的控制点坐标和变形后由一阶贝塞尔曲线变成的二阶贝塞尔曲线的中点坐标计算变形后由一阶贝塞尔曲线变成的二阶贝塞尔曲线的控制点偏移坐标。
作为一个具体实施例,变形后由一阶贝塞尔曲线变成的二阶贝塞尔曲线的控制点偏移坐标为变形后由一阶贝塞尔曲线变成的二阶贝塞尔曲线的控制点坐标减去变形后由一阶贝塞尔曲线变成的二阶贝塞尔曲线的中点坐标。
步骤106,将变形后由一阶贝塞尔曲线变成的二阶贝塞尔曲线的控制点偏移坐标翻倍之后再加上变形后由一阶贝塞尔曲线变成的二阶贝塞尔曲线的中点坐标,以获取新的控制点坐标。
需要说明的是,通过上述公式P=0.5(P1+0.5(P0+P2))可知,0.5(P0+P2)恰好为初始一阶贝塞尔曲线变形后的控制点坐标,通过上述公式反向推导可知,只要将由一阶贝塞尔曲线变成的二阶贝塞尔曲线的控制点坐标减去变形后由一阶贝塞尔曲线变成的二阶贝塞尔曲线的中点坐标,再翻倍后再加上变形后由一阶贝塞尔曲线变成的二阶贝塞尔曲线的中点坐标,即可得到新的控制点坐标。
步骤107,根据新的控制点坐标对所述变形后由一阶贝塞尔曲线变成的二阶贝塞尔曲线进行调整。
需要说明的是,通过以上方法将待变形文字中的所有一阶贝塞尔曲线转化成二阶贝塞尔曲线,并对变形后的所有由一阶贝塞尔曲线转化成的二阶贝塞尔曲线的控制点进行修正,从而根据修正后的控制点获取新的二阶贝塞尔曲线,从而获取最终的变形文字。
需要说明的是,作为一个实施例,“天”字在采用ffd变形后,由于上面的一横只有一段直线而下面有两段,变形后由于没有修正导致上面一横和下面一横的变形程度不一致;通过以上方法,不需增加曲线数量,且曲线过渡光滑,可以很好的解决变形后文字笔画不一的情况。
综上所述,根据本发明实施例的文字变形方法,首先获取待变形文字的路径信息,其中,路径信息包括一阶贝塞尔曲线的起始点坐标和终点坐标;接着根据一阶贝塞尔曲线的起始点坐标和终点坐标计算一阶贝塞尔曲线的中点坐标,并将一阶贝塞尔曲线的中点坐标作为控制点坐标,以使一阶贝塞尔曲线成为二阶贝塞尔曲线;再接着采用自由曲面变形方法对待变形文字进行变形,并获取变形后由一阶贝塞尔曲线变成的二阶贝塞尔曲线的起始点坐标、控制点坐标和终点坐标;再接着根据变形后由一阶贝塞尔曲线变成的二阶贝塞尔曲线的起始点坐标、控制点坐标和终点坐标计算变形后由一阶贝塞尔曲线变成的二阶贝塞尔曲线的中点坐标;然后接着根据变形后由一阶贝塞尔曲线变成的二阶贝塞尔曲线的控制点坐标和变形后由一阶贝塞尔曲线变成的二阶贝塞尔曲线的中点坐标计算变形后由一阶贝塞尔曲线变成的二阶贝塞尔曲线的控制点偏移坐标;再接着将变形后由一阶贝塞尔曲线变成的二阶贝塞尔曲线的控制点偏移坐标翻倍之后再加上变形后由一阶贝塞尔曲线变成的二阶贝塞尔曲线的中点坐标,以获取新的控制点坐标;最后根据新的控制点坐标对变形后由一阶贝塞尔曲线变成的二阶贝塞尔曲线进行调整;由此,通过对ffd变形后的结果进行修正,无需增加曲线数量,从而不仅不会影响后期渲染性能,而且还提高了变形文字变形后的表现力。
另外,本发明实施例还提出了一种计算机可读存储介质,其上存储有文字变形程序,该文字变形程序被处理器执行时实现如上述的文字变形方法。
根据本发明实施例的计算机可读存储介质,通过存储文字变形程序,以使得处理器在执行该文字变形程序时,实现如上述的文字变形方法,从而不仅不会影响后期渲染性能,而且还提高了变形文字变形后的表现力。
另外,本发明实施例还提出了一种计算机设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述计算机程序时,实现如上述的文字变形方法。
根据本发明实施例的计算机设备,通过存储器对文字变形程序进行存储,以使得处理器在运行存储器上存储的文字变形程序时,实现如上述的文字变形方法,从而不仅不会影响后期渲染性能,而且还提高了变形文字变形后的表现力。
图2为根据本发明实施例的文字变形装置的方框示意图;如图2所示,本实施例的文字变形装置包括:获取模块201、第一计算模块202、变形模块203、第二计算模块204、第三计算模块205、第四计算模块206和调整模块207。
其中,获取模块201获取待变形文字的路径信息,其中,路径信息包括一阶贝塞尔曲线的起始点坐标和终点坐标;第一计算模块202根据一阶贝塞尔曲线的起始点坐标和终点坐标计算一阶贝塞尔曲线的中点坐标,并将一阶贝塞尔曲线的中点坐标作为控制点坐标,以使一阶贝塞尔曲线成为二阶贝塞尔曲线;变形模块203采用自由曲面变形方法对待变形文字进行变形,并获取变形后由一阶贝塞尔曲线变成的二阶贝塞尔曲线的起始点坐标、控制点坐标和终点坐标;第二计算模块204根据变形后由一阶贝塞尔曲线变成的二阶贝塞尔曲线的起始点坐标、控制点坐标和终点坐标计算变形后由一阶贝塞尔曲线变成的二阶贝塞尔曲线的中点坐标;第三计算模块205根据变形后由一阶贝塞尔曲线变成的二阶贝塞尔曲线的控制点坐标和变形后由一阶贝塞尔曲线变成的二阶贝塞尔曲线的中点坐标计算变形后由一阶贝塞尔曲线变成的二阶贝塞尔曲线的控制点偏移坐标;第四计算模块206将变形后由一阶贝塞尔曲线变成的二阶贝塞尔曲线的控制点偏移坐标翻倍之后再加上变形后由一阶贝塞尔曲线变成的二阶贝塞尔曲线的中点坐标,以获取新的控制点坐标;调整模块207根据新的控制点坐标对变形后由一阶贝塞尔曲线变成的二阶贝塞尔曲线进行调整。
进一步地,根据以下公式计算一阶贝塞尔曲线的中点坐标:
B=0.5*(B0+B1)
其中,B表示变形前的一阶贝塞尔曲线的中点坐标,B0表示变形前的一阶贝塞尔曲线的起始点坐标,B1表示变形前的一阶贝塞尔曲线的终点坐标。
进一步地,根据以下公式计算变形后由一阶贝塞尔曲线变成的二阶贝塞尔曲线的中点坐标:
P=0.5(P1+0.5(P0+P2))
其中,P表示变形后由一阶贝塞尔曲线变成的二阶贝塞尔曲线的中点坐标,P0表示变形后由一阶贝塞尔曲线变成的二阶贝塞尔曲线的起始点坐标,P1表示变形后由一阶贝塞尔曲线变成的二阶贝塞尔曲线的控制点坐标,P2表示变形后由一阶贝塞尔曲线变成的二阶贝塞尔曲线的终点坐标。
进一步地,变形后由一阶贝塞尔曲线变成的二阶贝塞尔曲线的控制点偏移坐标为变形后由一阶贝塞尔曲线变成的二阶贝塞尔曲线的控制点坐标减去变形后由一阶贝塞尔曲线变成的二阶贝塞尔曲线的中点坐标。
需要说明的是,前述对于文字变形方法的实施例的解释说明同样适用于本实施例的文字变形装置,此处不再赘述。
综上所述,根据本发明实施例的一种文字变形装置,通过获取模块获取待变形文字的路径信息,其中,路径信息包括一阶贝塞尔曲线的起始点坐标和终点坐标;接着通过第一计算模块根据一阶贝塞尔曲线的起始点坐标和终点坐标计算一阶贝塞尔曲线的中点坐标,并将一阶贝塞尔曲线的中点坐标作为控制点坐标,以使一阶贝塞尔曲线成为二阶贝塞尔曲线;再接着通过变形模块采用自由曲面变形方法对待变形文字进行变形,并获取变形后由一阶贝塞尔曲线变成的二阶贝塞尔曲线的起始点坐标、控制点坐标和终点坐标;再接着通过第二计算模块根据变形后由一阶贝塞尔曲线变成的二阶贝塞尔曲线的起始点坐标、控制点坐标和终点坐标计算变形后由一阶贝塞尔曲线变成的二阶贝塞尔曲线的中点坐标;然后通过第三计算模块根据变形后由一阶贝塞尔曲线变成的二阶贝塞尔曲线的控制点坐标和变形后由一阶贝塞尔曲线变成的二阶贝塞尔曲线的中点坐标计算变形后由一阶贝塞尔曲线变成的二阶贝塞尔曲线的控制点偏移坐标;再通过第四模块将变形后由一阶贝塞尔曲线变成的二阶贝塞尔曲线的控制点偏移坐标翻倍之后再加上变形后由一阶贝塞尔曲线变成的二阶贝塞尔曲线的中点坐标,以获取新的控制点坐标;最后通过调整模块根据新的控制点坐标对变形后由一阶贝塞尔曲线变成的二阶贝塞尔曲线进行调整;由此,通过对ffd变形后的结果进行修正,无需增加曲线数量,从而不仅不会影响后期渲染性能,而且还提高了变形文字变形后的表现力。
本领域内的技术人员应明白,本发明的实施例可提供为方法、***、或计算机程序产品。因此,本发明可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本发明可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
本发明是参照根据本发明实施例的方法、设备(***)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
应当注意的是,在权利要求中,不应将位于括号之间的任何参考符号构造成对权利要求的限制。单词“包含”不排除存在未列在权利要求中的部件或步骤。位于部件之前的单词“一”或“一个”不排除存在多个这样的部件。本发明可以借助于包括有若干不同部件的硬件以及借助于适当编程的计算机来实现。在列举了若干装置的单元权利要求中,这些装置中的若干个可以是通过同一个硬件项来具体体现。单词第一、第二、以及第三等的使用不表示任何顺序。可将这些单词解释为名称。
尽管已描述了本发明的优选实施例,但本领域内的技术人员一旦得知了基本创造性概念,则可对这些实施例作出另外的变更和修改。所以,所附权利要求意欲解释为包括优选实施例以及落入本发明范围的所有变更和修改。
显然,本领域的技术人员可以对本发明进行各种改动和变型而不脱离本发明的精神和范围。这样,倘若本发明的这些修改和变型属于本发明权利要求及其等同技术的范围之内,则本发明也意图包含这些改动和变型在内。
在本发明的描述中,需要理解的是,术语“第一”、“第二”仅用于描述目的,而不能理解为指示或暗示相对重要性或者隐含指明所指示的技术特征的数量。由此,限定有“第一”、“第二”的特征可以明示或者隐含地包括一个或者更多个该特征。在本发明的描述中,“多个”的含义是两个或两个以上,除非另有明确具体的限定。
在本发明中,除非另有明确的规定和限定,术语“安装”、“相连”、“连接”、“固定”等术语应做广义理解,例如,可以是固定连接,也可以是可拆卸连接,或成一体;可以是机械连接,也可以是电连接;可以是直接相连,也可以通过中间媒介间接相连,可以是两个元件内部的连通或两个元件的相互作用关系。对于本领域的普通技术人员而言,可以根据具体情况理解上述术语在本发明中的具体含义。
在本发明中,除非另有明确的规定和限定,第一特征在第二特征“上”或“下”可以是第一和第二特征直接接触,或第一和第二特征通过中间媒介间接接触。而且,第一特征在第二特征“之上”、“上方”和“上面”可是第一特征在第二特征正上方或斜上方,或仅仅表示第一特征水平高度高于第二特征。第一特征在第二特征“之下”、“下方”和“下面”可以是第一特征在第二特征正下方或斜下方,或仅仅表示第一特征水平高度小于第二特征。
在本说明书的描述中,参考术语“一个实施例”、“一些实施例”、“示例”、“具体示例”、或“一些示例”等的描述意指结合该实施例或示例描述的具体特征、结构、材料或者特点包含于本发明的至少一个实施例或示例中。在本说明书中,对上述术语的示意性表述不应理解为必须针对的是相同的实施例或示例。而且,描述的具体特征、结构、材料或者特点可以在任一个或多个实施例或示例中以合适的方式结合。此外,在不相互矛盾的情况下,本领域的技术人员可以将本说明书中描述的不同实施例或示例以及不同实施例或示例的特征进行结合和组合。
尽管上面已经示出和描述了本发明的实施例,可以理解的是,上述实施例是示例性的,不能理解为对本发明的限制,本领域的普通技术人员在本发明的范围内可以对上述实施例进行变化、修改、替换和变型。
Claims (10)
1.一种文字变形方法,其特征在于,包括以下步骤:
获取待变形文字的路径信息,其中,所述路径信息包括一阶贝塞尔曲线的起始点坐标和终点坐标;
根据所述一阶贝塞尔曲线的起始点坐标和终点坐标计算所述一阶贝塞尔曲线的中点坐标,并将所述一阶贝塞尔曲线的中点坐标作为控制点坐标,以使所述一阶贝塞尔曲线成为二阶贝塞尔曲线;
采用自由曲面变形方法对所述待变形文字进行变形,并获取变形后由一阶贝塞尔曲线变成的二阶贝塞尔曲线的起始点坐标、控制点坐标和终点坐标;
根据所述变形后由一阶贝塞尔曲线变成的二阶贝塞尔曲线的起始点坐标、控制点坐标和终点坐标计算变形后由一阶贝塞尔曲线变成的二阶贝塞尔曲线的中点坐标;
根据所述变形后由一阶贝塞尔曲线变成的二阶贝塞尔曲线的控制点坐标和所述变形后由一阶贝塞尔曲线变成的二阶贝塞尔曲线的中点坐标计算所述变形后由一阶贝塞尔曲线变成的二阶贝塞尔曲线的控制点偏移坐标;
将所述变形后由一阶贝塞尔曲线变成的二阶贝塞尔曲线的控制点偏移坐标翻倍之后再加上所述变形后由一阶贝塞尔曲线变成的二阶贝塞尔曲线的中点坐标,以获取新的控制点坐标;
根据所述新的控制点坐标对所述变形后由一阶贝塞尔曲线变成的二阶贝塞尔曲线进行调整。
2.如权利要求1所述的文字变形方法,其特征在于,根据以下公式计算所述一阶贝塞尔曲线的中点坐标:
B=0.5*(B0+B1)
其中,B表示变形前的一阶贝塞尔曲线的中点坐标,B0表示变形前的一阶贝塞尔曲线的起始点坐标,B1表示变形前的一阶贝塞尔曲线的终点坐标。
3.如权利要求1所述的文字变形方法,其特征在于,根据以下公式计算所述变形后由一阶贝塞尔曲线变成的二阶贝塞尔曲线的中点坐标:
P=0.5(P1+0.5(P0+P2))
其中,P表示变形后由一阶贝塞尔曲线变成的二阶贝塞尔曲线的中点坐标,P0表示变形后由一阶贝塞尔曲线变成的二阶贝塞尔曲线的起始点坐标,P1表示变形后由一阶贝塞尔曲线变成的二阶贝塞尔曲线的控制点坐标,P2表示变形后由一阶贝塞尔曲线变成的二阶贝塞尔曲线的终点坐标。
4.如权利要求1所述的文字变形方法,其特征在于,所述变形后由一阶贝塞尔曲线变成的二阶贝塞尔曲线的控制点偏移坐标为所述变形后由一阶贝塞尔曲线变成的二阶贝塞尔曲线的控制点坐标减去所述变形后由一阶贝塞尔曲线变成的二阶贝塞尔曲线的中点坐标。
5.一种计算机可读存储介质,其特征在于,其上存储有文字变形程序,该文字变形程序被处理器执行时实现如权利要求1-4中任一项所述的文字变形方法。
6.一种计算机设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,其特征在于,所述处理器执行所述计算机程序时,实现如权利要求1-4中任一项所述的文字变形方法。
7.一种文字变形装置,其特征在于,包括:
获取模块,用于获取待变形文字的路径信息,其中,所述路径信息包括一阶贝塞尔曲线的起始点坐标和终点坐标;
第一计算模块,用于根据所述一阶贝塞尔曲线的起始点坐标和终点坐标计算所述一阶贝塞尔曲线的中点坐标,并将所述一阶贝塞尔曲线的中点坐标作为控制点坐标,以使所述一阶贝塞尔曲线成为二阶贝塞尔曲线;
变形模块,用于采用自由曲面变形方法对所述待变形文字进行变形,并获取变形后由一阶贝塞尔曲线变成的二阶贝塞尔曲线的起始点坐标、控制点坐标和终点坐标;
第二计算模块,用于根据所述变形后由一阶贝塞尔曲线变成的二阶贝塞尔曲线的起始点坐标、控制点坐标和终点坐标计算变形后由一阶贝塞尔曲线变成的二阶贝塞尔曲线的中点坐标;
第三计算模块,用于根据所述变形后由一阶贝塞尔曲线变成的二阶贝塞尔曲线的控制点坐标和所述变形后由一阶贝塞尔曲线变成的二阶贝塞尔曲线的中点坐标计算所述变形后由一阶贝塞尔曲线变成的二阶贝塞尔曲线的控制点偏移坐标;
第四计算模块,用于将所述变形后由一阶贝塞尔曲线变成的二阶贝塞尔曲线的控制点偏移坐标翻倍之后再加上所述变形后由一阶贝塞尔曲线变成的二阶贝塞尔曲线的中点坐标,以获取新的控制点坐标;
调整模块,用于根据所述新的控制点坐标对所述变形后由一阶贝塞尔曲线变成的二阶贝塞尔曲线进行调整。
8.如权利要求7所述的文字变形装置,其特征在于,根据以下公式计算所述一阶贝塞尔曲线的中点坐标:
B=0.5*(B0+B1)
其中,B表示变形前的一阶贝塞尔曲线的中点坐标,B0表示变形前的一阶贝塞尔曲线的起始点坐标,B1表示变形前的一阶贝塞尔曲线的终点坐标。
9.如权利要求7所述的文字变形装置,其特征在于,根据以下公式计算所述变形后由一阶贝塞尔曲线变成的二阶贝塞尔曲线的中点坐标:
P=0.5(P1+0.5(P0+P2))
其中,P表示变形后由一阶贝塞尔曲线变成的二阶贝塞尔曲线的中点坐标,P0表示变形后由一阶贝塞尔曲线变成的二阶贝塞尔曲线的起始点坐标,P1表示变形后由一阶贝塞尔曲线变成的二阶贝塞尔曲线的控制点坐标,P2表示变形后由一阶贝塞尔曲线变成的二阶贝塞尔曲线的终点坐标。
10.如权利要求7所述的文字变形 装置,其特征在于,所述变形后由一阶贝塞尔曲线变成的二阶贝塞尔曲线的控制点偏移坐标为所述变形后由一阶贝塞尔曲线变成的二阶贝塞尔曲线的控制点坐标减去所述变形后由一阶贝塞尔曲线变成的二阶贝塞尔曲线的中点坐标。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010200324.5A CN111460761B (zh) | 2020-03-20 | 2020-03-20 | 文字变形方法、介质、设备及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010200324.5A CN111460761B (zh) | 2020-03-20 | 2020-03-20 | 文字变形方法、介质、设备及装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN111460761A CN111460761A (zh) | 2020-07-28 |
CN111460761B true CN111460761B (zh) | 2022-07-01 |
Family
ID=71685667
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202010200324.5A Active CN111460761B (zh) | 2020-03-20 | 2020-03-20 | 文字变形方法、介质、设备及装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN111460761B (zh) |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101415079A (zh) * | 2008-11-04 | 2009-04-22 | 新奥特(北京)视频技术有限公司 | 一种将字幕对象转换为贝塞尔曲线的方法 |
CN101764943A (zh) * | 2008-11-04 | 2010-06-30 | 新奥特(北京)视频技术有限公司 | 根据交点分割字幕对象矢量轮廓中二次贝塞尔曲线的方法 |
CN102881033A (zh) * | 2012-08-06 | 2013-01-16 | 孙计良 | 自适应曲线的生成方法及装置 |
CN102903134A (zh) * | 2012-09-13 | 2013-01-30 | 烽火通信科技股份有限公司 | 快速绘制多次曲线的方法 |
CN103578450A (zh) * | 2012-07-31 | 2014-02-12 | 国民技术股份有限公司 | 一种字符显示方法、字符显示装置及安全认证装置 |
CN105651295A (zh) * | 2016-01-15 | 2016-06-08 | 武汉光庭信息技术股份有限公司 | 基于Bezier曲线构建交叉路口驶入驶出车道Link的连接曲线算法 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20110285718A1 (en) * | 2010-05-21 | 2011-11-24 | Kilgard Mark J | Point containment for quadratic bèzier strokes |
-
2020
- 2020-03-20 CN CN202010200324.5A patent/CN111460761B/zh active Active
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101415079A (zh) * | 2008-11-04 | 2009-04-22 | 新奥特(北京)视频技术有限公司 | 一种将字幕对象转换为贝塞尔曲线的方法 |
CN101764943A (zh) * | 2008-11-04 | 2010-06-30 | 新奥特(北京)视频技术有限公司 | 根据交点分割字幕对象矢量轮廓中二次贝塞尔曲线的方法 |
CN103578450A (zh) * | 2012-07-31 | 2014-02-12 | 国民技术股份有限公司 | 一种字符显示方法、字符显示装置及安全认证装置 |
CN102881033A (zh) * | 2012-08-06 | 2013-01-16 | 孙计良 | 自适应曲线的生成方法及装置 |
CN102903134A (zh) * | 2012-09-13 | 2013-01-30 | 烽火通信科技股份有限公司 | 快速绘制多次曲线的方法 |
CN105651295A (zh) * | 2016-01-15 | 2016-06-08 | 武汉光庭信息技术股份有限公司 | 基于Bezier曲线构建交叉路口驶入驶出车道Link的连接曲线算法 |
Non-Patent Citations (1)
Title |
---|
基于贝塞尔曲线的机器人非时间轨迹跟踪方法;余伶俐 等;《仪器仪表学报》;20160731;全文 * |
Also Published As
Publication number | Publication date |
---|---|
CN111460761A (zh) | 2020-07-28 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN109973301B (zh) | 在极端湍流风况下控制风力发电机组变桨的方法和装置 | |
US20150070354A1 (en) | Computing device and method for reconstructing curved surface of point cloud data | |
CN112634409B (zh) | 自定义动画曲线生成方法及装置 | |
JP2013162563A (ja) | 電力需給制御装置および電力需給制御方法 | |
CN111460761B (zh) | 文字变形方法、介质、设备及装置 | |
US9696708B2 (en) | Machining curve creating apparatus and machining curve creating method thereof | |
CN110782534A (zh) | 3d文字颜色渐变方法、介质、设备及装置 | |
CN111311724B (zh) | 3d文字的阴影添加方法、介质、设备及装置 | |
CN110706161B (zh) | 图像的亮度调整方法、介质、设备及装置 | |
CN111445562A (zh) | 文字动画生成方法及装置 | |
CN111062902A (zh) | 图像变形方法、介质、设备及装置 | |
CN103778595B (zh) | 一种图像缩小处理的方法及装置 | |
JP5127847B2 (ja) | 断面画像生成装置、断面画像生成方法、及びそのプログラム | |
CN110571825A (zh) | 一种静止同步补偿器模型参数辨识方法及*** | |
CN112347210B (zh) | 中精度地图的车道中心线弯曲误差修正方法及*** | |
CN111741332A (zh) | 粒子群旋转视频制作方法及介质 | |
CN111444675B (zh) | 文字圆角化处理方法、介质、设备及装置 | |
CN106960419A (zh) | 一种图像伽马校正方法及装置 | |
CN112598671A (zh) | 一种血管中心线提取方法、设备及可读存储介质 | |
US9159125B2 (en) | Histogram stretching apparatus and method | |
CN107730387B (zh) | 一种支付数据的校正方法 | |
CN107330207B (zh) | 一种多重因素耦合试验修正的滑动轴承流量参数计算方法 | |
CN111311496B (zh) | 图像分辨率快速调整方法和装置 | |
CN114092906B (zh) | 一种车道线分段拟合方法、***、电子设备及存储介质 | |
Beg et al. | Fuzzy transitive relations |
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 |