CN111444675B - 文字圆角化处理方法、介质、设备及装置 - Google Patents
文字圆角化处理方法、介质、设备及装置 Download PDFInfo
- Publication number
- CN111444675B CN111444675B CN202010172553.0A CN202010172553A CN111444675B CN 111444675 B CN111444675 B CN 111444675B CN 202010172553 A CN202010172553 A CN 202010172553A CN 111444675 B CN111444675 B CN 111444675B
- Authority
- CN
- China
- Prior art keywords
- included angle
- angle
- straight line
- length
- characters
- 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
- Image Processing (AREA)
- Image Analysis (AREA)
- Image Generation (AREA)
Abstract
本发明公开了一种文字圆角化处理方法及装置,其中,该方法包括:获取待处理文字的路径信息,并根据所述路径信息获取待处理文字中每个夹角的角度;判断待处理文字中每个夹角的角度的绝对值是否大于预设的第一阈值;当待处理文字中任意一个夹角的角度的绝对值大于预设的第一阈值时,根据路径信息获取该夹角的第一直线和第二直线,并将第一直线和第二直线中长度较小的直线长度作为该夹角的第二阈值;根据每个夹角对应的第二阈值,采用长度碰撞检测算法获取每个夹角对应的最大圆角化长度,并根据每个夹角对应的最大圆角化长度对待处理文字的每个夹角进行圆角化处理;从而提高文字的应用范围。
Description
技术领域
本发明涉及文字处理技术领域,特别涉及一种文字圆角化处理方法、一种计算机可读存储介质、一种计算机设备以及一种文字圆角化处理装置。
背景技术
相关技术中,现有文字的每个角都是相对尖锐的,看起来不够圆滑自然,在实际应用中,为了达到某种艺术效果,通常需要对文字的每个角进行圆角化处理,以使文字看起来圆滑自然。
发明内容
本发明旨在至少在一定程度上解决上述技术中的技术问题之一。为此,本发明的一个目的在于提出一种文字圆角化处理方法,通过引入碰撞检测算法,将文字中尖锐的角转化为圆角,使得文字看起来圆滑自然,从而提高文字的应用范围。
本发明的第二个目的在于提出一种计算机可读存储介质。
本发明的第三个目的在于提出一种计算机设备。
本发明的第四个目的在于提出一种文字圆角化处理装置。
为达到上述目的,本发明第一方面实施例提出了一种文字圆角化处理方法,包括以下步骤:
获取待处理文字的路径信息,并根据所述待处理文字的路径信息获取待处理文字中每个夹角的角度;判断待处理文字中每个夹角的角度的绝对值是否大于预设的第一阈值;当待处理文字中任意一个夹角的角度的绝对值大于预设的第一阈值时,根据所述路径信息获取该夹角的第一直线和第二直线,并将所述第一直线和第二直线中长度较小的直线长度作为该夹角的第二阈值;根据每个夹角对应的第二阈值,采用长度碰撞检测算法获取每个夹角对应的最大圆角化长度,并根据所述每个夹角对应的最大圆角化长度对所述待处理文字的每个夹角进行圆角化处理。
根据本发明实施例的文字圆角化处理方法,首先获取待处理文字的路径信息,并根据待处理文字的路径信息获取待处理文字中每个夹角的角度;接着判断待处理文字中每个夹角的角度的绝对值是否大于预设的第一阈值;当待处理文字中任意一个夹角的角度的绝对值大于预设的第一阈值时,根据路径信息获取该夹角的第一直线和第二直线,并将第一直线和第二直线中长度较小的直线长度作为该夹角的第二阈值;最后根据每个夹角对应的第二阈值,采用长度碰撞检测算法获取每个夹角对应的最大圆角化长度,并根据每个夹角对应的最大圆角化长度对待处理文字的每个夹角进行圆角化处理;由此,通过引入碰撞检测算法,将文字中尖锐的角转化为圆角,使得文字看起来圆滑自然,从而提高文字的应用范围。
另外,根据本发明上述实施例提出的文字圆角化处理方法还可以具有如下附加的技术特征:
可选地,根据所述路径信息获取该夹角的第一直线和第二直线,包括:获取构成该夹角的两条边;判断该夹角的两条边中是否存在二次贝塞尔曲线,当该夹角的两条边中存在二次贝塞尔曲线,则将该二次贝塞尔曲线的前两个控制点构成的直线替代该二次贝塞尔曲线,以便构成该夹角的第一直线和第二直线。
可选地,采用长度碰撞检测算法获取所述每个夹角对应的最大圆角化长度,并根据每个夹角对应的最大圆角化长度对所述待处理文字的每个夹角进行圆角化处理,包括:根据预设量对预设的圆角化长度初始值进行逐步递增,每递增一次即检测当前圆角化长度是否小于第二阈值;如果当前圆角化长度小于第二阈值,则继续对当前的圆角化长度进行递增;如果当前圆角化长度大于第二阈值,则获取前一步的圆角化长度作为该夹角的最大圆角化长度;以此类推,计算所述待处理文字的每个夹角对应的最大圆角化长度;根据所述每个夹角对应的最大圆角化长度获取每个夹角对应的三次贝塞尔曲线的控制点,并根据所述每个夹角对应的三次贝塞尔曲线对所述待处理文字的每个夹角进行圆角化处理。
可选地,采用长度碰撞检测算法获取所述每个夹角对应的最大圆角化长度,并根据每个夹角对应的最大圆角化长度对所述待处理文字的每个夹角进行圆角化处理,包括:根据预设量对预设的圆角化长度初始值进行逐步递增,每递增一次即检测当前圆角化长度是否小于第二阈值;如果当前圆角化长度小于第二阈值,则继续对当前圆角化长度进行递增;如果当前圆角化长度大于第二阈值,则获取前一步的圆角化长度作为该夹角的最大圆角化长度;以此类推,计算所述待处理文字的每个夹角对应的最大圆角化长度,并将所述每个夹角对应的最大圆角化长度中的最小值作为所述待处理文字的所有夹角的最大圆角化长度;根据所述待处理文字的所有夹角的最大圆角化长度获取三次贝塞尔曲线的控制点,并根据所述三次贝塞尔曲线对所述待处理文字的每个夹角进行圆角化处理。
可选地,在获取待处理文字的路径信息后还包括:计算所述待处理文字中每条二次贝塞尔曲线对应的第一控制点和第二控制点组成的直线与第二控制点和第三控制点组成的直线所形成的夹角的角度;将所述夹角的角度与第三阈值进行比较,如果小于所述第三阈值,则将第一控制点和第三控制点组成的直线代替所述二次贝塞尔曲线。
可选地,在获取待处理文字的路径信息后还包括:计算所述待处理文字中每一条直线与前一条直线或者二次贝塞尔曲线后两个控制点组成的直线的夹角的角度;将所述夹角的角度与第三阈值进行比较,如果小于所述第三阈值,则将两条直线合并成新的直线或者将直线与二次贝塞尔曲线后两个控制点组成的直线合并成新的二次贝塞尔曲线。
可选地,在获取待处理文字的路径信息后还包括:计算所述待处理文字中每一条直线与后一条直线或者二次贝塞尔曲线前两个控制点组成的直线的夹角的角度;将所述夹角的角度与第三阈值进行比较,如果小于所述第三阈值,则将两条直线合并成新的直线或者将直线与二次贝塞尔曲线前两个控制点组成的直线合并成新的二次贝塞尔曲线。
为达到上述目的,本发明第二方面实施例提出了一种计算机可读存储介质,其上存储有文字圆角化处理程序,该文字圆角化处理程序被处理器执行时实现如上述的文字圆角化处理方法。
根据本发明实施例的计算机可读存储介质,通过存储文字圆角化处理程序,以使得处理器在执行该文字圆角化处理程序时,实现如上述的文字圆角化处理方法,从而实现将文字中尖锐的角转化为圆角,提高文字的应用范围。
为达到上述目的,本发明第三方面实施例提出了一种计算机设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述计算机程序时,实现如上述的文字圆角化处理方法
根据本发明实施例的计算机设备,通过存储器对文字圆角化处理程序进行存储,以使得处理器在运行存储器上存储的文字圆角化处理程序时,实现如上述的文字圆角化处理方法,从而实现将文字中尖锐的角转化为圆角,提高文字的应用范围。
为达到上述目的,本发明第四方面实施例提出了一种文字圆角化处理装置,包括:获取模块,用于获取待处理文字的路径信息,并根据所述待处理文字的路径信息获取待处理文字中每个夹角的角度;判断模块,用于判断待处理文字中每个夹角的角度的绝对值是否大于预设的第一阈值;比较模块,用于当待处理文字中任意一个夹角的角度的绝对值大于预设的第一阈值时,根据所述路径信息获取该夹角的第一直线和第二直线,并将所述第一直线和第二直线中长度较小的直线长度作为该夹角的第二阈值;处理模块,用于根据每个夹角对应的第二阈值,采用长度碰撞检测算法获取每个夹角对应的最大圆角化长度,并根据所述每个夹角对应的最大圆角化长度对所述待处理文字的每个夹角进行圆角化处理。
根据本发明实施例的文字圆角化处理装置,通过获取模块获取待处理文字的路径信息,并根据待处理文字的路径信息获取待处理文字中每个夹角的角度;再通过判断模块判断待处理文字中每个夹角的角度的绝对值是否大于预设的第一阈值;当待处理文字中任意一个夹角的角度的绝对值大于预设的第一阈值时,再通过比较模块根据路径信息获取该夹角的第一直线和第二直线,并将第一直线和第二直线中长度较小的直线长度作为该夹角的第二阈值;最后通过处理模块根据每个夹角对应的第二阈值,采用长度碰撞检测算法获取每个夹角对应的最大圆角化长度,并根据每个夹角对应的最大圆角化长度对待处理文字的每个夹角进行圆角化处理;由此,通过引入碰撞检测算法,将文字中尖锐的角转化为圆角,使得文字看起来圆滑自然,从而提高文字的应用范围。
附图说明
图1为根据本发明实施例的文字圆角化处理方法的流程示意图;
图2为根据本发明一个实施例的获取夹角的第一直线和第二直线的流程示意图;
图3为根据本发明一个实施例的应用局部响应机制实现长度碰撞检测,并对每个夹角进行圆角化处理的流程示意图;
图4为根据本发明一个实施例的应用全局响应机制实现长度碰撞检测,并对每个夹角进行圆角化处理的流程示意图;
图5为根据本发明一个实施例的该夹角处理前的示意图;
图6为根据本发明一个实施例的该夹角处理后的示意图;
图7为根据本发明一个实施例的待处理文字的效果图;
图8为根据本发明一个实施例的采用局部响应机制处理后的文字的效果图;
图9为根据本发明一个实施例的采用全局响应机制处理后的文字的效果图;
图10为根据本发明一个实施例的文字圆角化处理装置的方框示意图。
具体实施方式
下面详细描述本发明的实施例,所述实施例的示例在附图中示出,其中自始至终相同或类似的标号表示相同或类似的元件或具有相同或类似功能的元件。下面通过参考附图描述的实施例是示例性的,旨在用于解释本发明,而不能理解为对本发明的限制。
为了更好的理解上述技术方案,下面将参照附图更详细地描述本发明的示例性实施例。虽然附图中显示了本发明的示例性实施例,然而应当理解,可以以各种形式实现本发明而不应被这里阐述的实施例所限制。相反,提供这些实施例是为了能够更透彻地理解本发明,并且能够将本发明的范围完整的传达给本领域的技术人员。
为了更好的理解上述技术方案,下面将结合说明书附图以及具体的实施方式对上述技术方案进行详细的说明。
图1为根据本发明实施例的文字圆角化处理方法的流程示意图,如图1所示,该文字圆角化处理方法包括以下步骤:
步骤101,获取待处理文字的路径信息,并根据待处理文字的路径信息获取待处理文字中每个夹角的角度。
需要说明的是,待变形文字的路径信息包括多段文字路径,其中每段文字路径包括至少一段直线和至少一段二次贝塞尔曲线;每段文字路径可以由多段直线和二次贝塞尔曲线首尾连接而成,以构成封闭路径;字符串是由多个文字组成的,对于用户输入的字符串的每个文字可以通过字体文件(例如ttf格式)中找到相应的路径信息。
步骤102,判断待处理文字中每个夹角的角度的绝对值是否大于预设的第一阈值。
需要说明的是,该第一阈值为预先设定的经验值。
作为一个实施例,该第一阈值可设定为120°,本发明对此不作具体限定。
步骤103,当待处理文字中任意一个夹角的角度的绝对值大于预设的第一阈值时,根据路径信息获取该夹角的第一直线和第二直线,并将第一直线和第二直线中长度较小的直线长度作为该夹角的第二阈值。
需要说明的是,如果待处理文字的所有夹角中存在任意一个夹角的角度的绝对值大于预设的第一阈值,则对该夹角进行圆角化处理,如果待处理文字的所有夹角中均不存在绝对值大于预设的第一阈值,则无需对待处理文字的夹角进行圆角化处理。
步骤104,根据每个夹角对应的第二阈值,采用长度碰撞检测算法获取每个夹角对应的最大圆角化长度,并根据每个夹角对应的最大圆角化长度对待处理文字的每个夹角进行圆角化处理。
需要说明的是,每个夹角对应的最大圆角化长度小于每个夹角对应的第二阈值。
在本发明的一个实施例中,如图2所示,通过以下步骤获取夹角的第一直线和第二直线:
步骤201,获取构成该夹角的两条边。
步骤202,判断该夹角的两条边中是否存在二次贝塞尔曲线,当该夹角的两条边中存在二次贝塞尔曲线,则将该二次贝塞尔曲线的前两个控制点构成的直线替代该二次贝塞尔曲线,以便构成该夹角的第一直线和第二直线。
需要说明的是,构成该夹角的两条边有可能是直线或者二次贝塞尔曲线,如果是二次贝塞尔曲线则需要对其进行处理,以寻找直线替代该二次贝塞尔曲线。
在本发明的一个实施例中,图3为根据本发明一个实施例的应用局部响应机制实现长度碰撞检测,并对每个夹角进行圆角化处理的流程示意图,如图3所示,包括以下步骤:
步骤301,根据预设量对预设的圆角化长度初始值进行逐步递增,每递增一次即检测当前圆角化长度是否小于第二阈值。
步骤302,如果当前圆角化长度小于第二阈值,则继续对当前的圆角化长度进行递增,如果当前圆角化长度大于第二阈值,则获取前一步的圆角化长度作为该夹角的最大圆角化长度。
步骤303,以此类推,计算待处理文字的每个夹角对应的最大圆角化长度。
步骤304,根据每个夹角对应的最大圆角化长度获取每个夹角对应的三次贝塞尔曲线的控制点,并根据每个夹角对应的三次贝塞尔曲线对待处理文字的每个夹角进行圆角化处理。
需要说明的是,每个待处理文字都有很多的夹角,局部响应机制就是各自计算每个夹角的最大圆角化长度,达到每个夹角各自的最大圆角化长度后各自停止计算。
在本发明的一个实施例中,图4为根据本发明一个实施例的应用全局响应机制实现长度碰撞检测,并对每个夹角进行圆角化处理的流程示意图,如图4所示,包括以下步骤:
步骤401,根据预设量对预设的圆角化长度初始值进行逐步递增,每递增一次即检测当前圆角化长度是否小于第二阈值。
步骤402,如果当前圆角化长度小于第二阈值,则继续对当前圆角化长度进行递增,如果当前圆角化长度大于第二阈值,则获取前一步的圆角化长度作为该夹角的最大圆角化长度。
步骤403,以此类推,计算待处理文字的每个夹角对应的最大圆角化长度,并将每个夹角对应的最大圆角化长度中的最小值作为待处理文字的所有夹角的最大圆角化长度。
步骤404,根据所待处理文字的所有夹角的最大圆角化长度获取三次贝塞尔曲线的控制点,并根据三次贝塞尔曲线对待处理文字的每个夹角进行圆角化处理。
需要说明的是,在本实施例中,每个待处理文字都有很多的夹角,全局响应机制就是所以的夹角一起计算,并将满足条件的最小长度作为所有夹角的最大圆角化长度。
可选地,针对不同字体数据的差异,在获取待处理文字的路径信息后还对字体路径进行优化,对于二次贝塞尔曲线内部:
计算待处理文字中每条二次贝塞尔曲线对应的第一控制点和第二控制点组成的直线与第二控制点和第三控制点组成的直线所形成的夹角的角度;
将夹角的角度与第三阈值进行比较,如果小于第三阈值,则将第一控制点和第三控制点组成的直线代替二次贝塞尔曲线。
对于直线:计算待处理文字中每一条直线与前一条直线或者二次贝塞尔曲线后两个控制点组成的直线的夹角的角度;将夹角的角度与第三阈值进行比较,如果小于所述第三阈值,则将两条直线合并成新的直线或者将直线与二次贝塞尔曲线后两个控制点组成的直线合并成新的二次贝塞尔曲线;以及计算待处理文字中每一条直线与后一条直线或者二次贝塞尔曲线前两个控制点组成的直线的夹角的角度;将夹角的角度与第三阈值进行比较,如果小于第三阈值,则将两条直线合并成新的直线或者将直线与二次贝塞尔曲线前两个控制点组成的直线合并成新的二次贝塞尔曲线。
另外,作为一个具体实施例,如图5所示的夹角α,该夹角α由直线A和二次贝塞尔曲线B构成,且该夹角α的绝对值小于预设的第一阈值120°;
则判断直线A的长度和二次贝塞尔曲线B前两个控制点之间的长度的大小,将长度较小的作为夹角α的第二阈值;
如图6所示,取小于第二阈值的最大圆角化长度ae和de,并获取ae的中点b和de的中点c,组成新的三次贝塞尔曲线,其中abcd为三次贝塞尔曲线的控制点。
需要说明的是,ae和de的长度由长度碰撞检测算法获得。
作为一个具体实施例,先设定一个初始值为0的值和预设量为0.1的值,从初始值开始,每次根据预设量逐步递增,每递增一步即判断当前的值是否小于第二阈值,如果满足小于第二阈值的条件,则继续递增,直到不满足条件再停止累加操作,并将上一步满足条件的值作为夹角α的最大圆角化长度输出。
作为一个具体实施例,如图7所示,其为待处理文字的效果图,采用局部响应机制的圆角化处理方法对图7进行处理后,得到如图8所示的文字效果图。
作为一个具体实施例,如图7所示,其为待处理文字的效果图,采用全局响应机制的圆角化处理方法对图7进行处理后,得到如图9所示的文字效果图。
需要说明的是,采用局部响应机制对待处理文字的每个夹角进行处理时,每个夹角对应一个最大圆角化长度,而采用全局响应机制对待处理文字的每个夹角进行处理时,每个待处理文字的所有夹角对应一个最大圆角化长度。
综上所述,根据本发明实施例的文字圆角化处理方法,首先获取待处理文字的路径信息,并根据待处理文字的路径信息获取待处理文字中每个夹角的角度;接着判断待处理文字中每个夹角的角度的绝对值是否大于预设的第一阈值;当待处理文字中任意一个夹角的角度的绝对值大于预设的第一阈值时,根据路径信息获取该夹角的第一直线和第二直线,并将第一直线和第二直线中长度较小的直线长度作为该夹角的第二阈值;最后根据每个夹角对应的第二阈值,采用长度碰撞检测算法获取每个夹角对应的最大圆角化长度,并根据每个夹角对应的最大圆角化长度对待处理文字的每个夹角进行圆角化处理;由此,通过引入碰撞检测算法,将文字中尖锐的角转化为圆角,使得文字看起来圆滑自然,从而提高文字的应用范围。
另外,本发明实施例还提出了一种计算机可读存储介质,其上存储有文字圆角化处理程序,该文字圆角化处理程序被处理器执行时实现如上述的文字圆角化处理方法。
根据本发明实施例的计算机可读存储介质,通过存储文字圆角化处理程序,以使得处理器在执行该文字圆角化处理程序时,实现如上述的文字圆角化处理方法,从而实现将文字中尖锐的角转化为圆角,提高文字的应用范围。
另外,本发明实施例还提出了一种计算机设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述计算机程序时,实现如上述的文字圆角化处理方法
根据本发明实施例的计算机设备,通过存储器对文字圆角化处理程序进行存储,以使得处理器在运行存储器上存储的文字圆角化处理程序时,实现如上述的文字圆角化处理方法,从而实现将文字中尖锐的角转化为圆角,提高文字的应用范围。
图10为根据本发明一个实施例的文字圆角化处理装置的方框示意图,如图10所示,该装置包括:获取模块501、判断模块502、比较模块503和处理模块504。
其中,获取模块501用于获取待处理文字的路径信息,并根据待处理文字的路径信息获取待处理文字中每个夹角的角度;
判断模块502用于判断待处理文字中每个夹角的角度的绝对值是否大于预设的第一阈值;
比较模块503用于当待处理文字中任意一个夹角的角度的绝对值大于预设的第一阈值时,根据路径信息获取该夹角的第一直线和第二直线,并将第一直线和第二直线中长度较小的直线长度作为该夹角的第二阈值;
处理模块504用于根据每个夹角对应的第二阈值,采用长度碰撞检测算法获取每个夹角对应的最大圆角化长度,并根据每个夹角对应的最大圆角化长度对待处理文字的每个夹角进行圆角化处理。
在一些实施例中,根据路径信息获取该夹角的第一直线和第二直线,包括:获取构成该夹角的两条边;判断该夹角的两条边中是否存在二次贝塞尔曲线,当该夹角的两条边中存在二次贝塞尔曲线,则将该二次贝塞尔曲线的前两个控制点构成的直线替代该二次贝塞尔曲线,以便构成该夹角的第一直线和第二直线。
在一些实施例中,采用长度碰撞检测算法获取每个夹角对应的最大圆角化长度,并根据每个夹角对应的最大圆角化长度对待处理文字的每个夹角进行圆角化处理,包括:根据预设量对预设的圆角化长度初始值进行逐步递增,每递增一次即检测当前圆角化长度是否小于第二阈值;如果当前圆角化长度小于第二阈值,则继续对当前的圆角化长度进行递增,如果当前圆角化长度大于第二阈值,则获取前一步的圆角化长度作为该夹角的最大圆角化长度;以此类推,计算待处理文字的每个夹角对应的最大圆角化长度;根据每个夹角对应的最大圆角化长度获取每个夹角对应的三次贝塞尔曲线的控制点,并根据每个夹角对应的三次贝塞尔曲线对待处理文字的每个夹角进行圆角化处理。
在一些实施例中,采用长度碰撞检测算法获取每个夹角对应的最大圆角化长度,并根据每个夹角对应的最大圆角化长度对待处理文字的每个夹角进行圆角化处理,包括:根据预设量对预设的圆角化长度初始值进行逐步递增,每递增一次即检测当前圆角化长度是否小于第二阈值;如果当前圆角化长度小于第二阈值,则继续对当前圆角化长度进行递增,如果当前圆角化长度大于第二阈值,则获取前一步的圆角化长度作为该夹角的最大圆角化长度;以此类推,计算待处理文字的每个夹角对应的最大圆角化长度,并将每个夹角对应的最大圆角化长度中的最小值作为待处理文字的所有夹角的最大圆角化长度;根据待处理文字的所有夹角的最大圆角化长度获取三次贝塞尔曲线的控制点,并根据三次贝塞尔曲线对待处理文字的每个夹角进行圆角化处理。
在一些实施例中,在获取待处理文字的路径信息后还包括:计算待处理文字中每条二次贝塞尔曲线对应的第一控制点和第二控制点组成的直线与第二控制点和第三控制点组成的直线所形成的夹角的角度;将夹角的角度与第三阈值进行比较,如果小于第三阈值,则将第一控制点和第三控制点组成的直线代替二次贝塞尔曲线。
在一些实施例中,在获取待处理文字的路径信息后还包括:计算待处理文字中每一条直线与前一条直线或者二次贝塞尔曲线后两个控制点组成的直线的夹角的角度;将夹角的角度与第三阈值进行比较,如果小于第三阈值,则将两条直线合并成新的直线或者将直线与二次贝塞尔曲线后两个控制点组成的直线合并成新的二次贝塞尔曲线。
在一些实施例中,在获取待处理文字的路径信息后还包括:计算待处理文字中每一条直线与后一条直线或者二次贝塞尔曲线前两个控制点组成的直线的夹角的角度;将夹角的角度与第三阈值进行比较,如果小于所述第三阈值,则将两条直线合并成新的直线或者将直线与二次贝塞尔曲线前两个控制点组成的直线合并成新的二次贝塞尔曲线。
需要说明的是,前述对于文字圆角化处理方法的实施例的解释说明同样适用于本实施例的文字圆角化处理装置,此处不再赘述。
综上所述,根据本发明实施例的文字圆角化处理装置,通过获取模块获取待处理文字的路径信息,并根据待处理文字的路径信息获取待处理文字中每个夹角的角度;再通过判断模块判断待处理文字中每个夹角的角度的绝对值是否大于预设的第一阈值;当待处理文字中任意一个夹角的角度的绝对值大于预设的第一阈值时,再通过比较模块根据路径信息获取该夹角的第一直线和第二直线,并将第一直线和第二直线中长度较小的直线长度作为该夹角的第二阈值;最后通过处理模块根据每个夹角对应的第二阈值,采用长度碰撞检测算法获取每个夹角对应的最大圆角化长度,并根据每个夹角对应的最大圆角化长度对待处理文字的每个夹角进行圆角化处理;由此,通过引入碰撞检测算法,将文字中尖锐的角转化为圆角,使得文字看起来圆滑自然,从而提高文字的应用范围。
本领域内的技术人员应明白,本发明的实施例可提供为方法、系统、或计算机程序产品。因此,本发明可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本发明可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
本发明是参照根据本发明实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
应当注意的是,在权利要求中,不应将位于括号之间的任何参考符号构造成对权利要求的限制。单词“包含”不排除存在未列在权利要求中的部件或步骤。位于部件之前的单词“一”或“一个”不排除存在多个这样的部件。本发明可以借助于包括有若干不同部件的硬件以及借助于适当编程的计算机来实现。在列举了若干装置的单元权利要求中,这些装置中的若干个可以是通过同一个硬件项来具体体现。单词第一、第二、以及第三等的使用不表示任何顺序。可将这些单词解释为名称。
尽管已描述了本发明的优选实施例,但本领域内的技术人员一旦得知了基本创造性概念,则可对这些实施例作出另外的变更和修改。所以,所附权利要求意欲解释为包括优选实施例以及落入本发明范围的所有变更和修改。
显然,本领域的技术人员可以对本发明进行各种改动和变型而不脱离本发明的精神和范围。这样,倘若本发明的这些修改和变型属于本发明权利要求及其等同技术的范围之内,则本发明也意图包含这些改动和变型在内。
在本发明的描述中,需要理解的是,术语“第一”、“第二”仅用于描述目的,而不能理解为指示或暗示相对重要性或者隐含指明所指示的技术特征的数量。由此,限定有“第一”、“第二”的特征可以明示或者隐含地包括一个或者更多个该特征。在本发明的描述中,“多个”的含义是两个或两个以上,除非另有明确具体的限定。
在本发明中,除非另有明确的规定和限定,术语“安装”、“相连”、“连接”、“固定”等术语应做广义理解,例如,可以是固定连接,也可以是可拆卸连接,或成一体;可以是机械连接,也可以是电连接;可以是直接相连,也可以通过中间媒介间接相连,可以是两个元件内部的连通或两个元件的相互作用关系。对于本领域的普通技术人员而言,可以根据具体情况理解上述术语在本发明中的具体含义。
在本发明中,除非另有明确的规定和限定,第一特征在第二特征“上”或“下”可以是第一和第二特征直接接触,或第一和第二特征通过中间媒介间接接触。而且,第一特征在第二特征“之上”、“上方”和“上面”可是第一特征在第二特征正上方或斜上方,或仅仅表示第一特征水平高度高于第二特征。第一特征在第二特征“之下”、“下方”和“下面”可以是第一特征在第二特征正下方或斜下方,或仅仅表示第一特征水平高度小于第二特征。
在本说明书的描述中,参考术语“一个实施例”、“一些实施例”、“示例”、“具体示例”、或“一些示例”等的描述意指结合该实施例或示例描述的具体特征、结构、材料或者特点包含于本发明的至少一个实施例或示例中。在本说明书中,对上述术语的示意性表述不应理解为必须针对的是相同的实施例或示例。而且,描述的具体特征、结构、材料或者特点可以在任一个或多个实施例或示例中以合适的方式结合。此外,在不相互矛盾的情况下,本领域的技术人员可以将本说明书中描述的不同实施例或示例以及不同实施例或示例的特征进行结合和组合。
尽管上面已经示出和描述了本发明的实施例,可以理解的是,上述实施例是示例性的,不能理解为对本发明的限制,本领域的普通技术人员在本发明的范围内可以对上述实施例进行变化、修改、替换和变型。
Claims (9)
1.一种文字圆角化处理方法,其特征在于,包括以下步骤:
获取待处理文字的路径信息,并根据所述待处理文字的路径信息获取待处理文字中每个夹角的角度;
判断待处理文字中每个夹角的角度的绝对值是否大于预设的第一阈值;
当待处理文字中任意一个夹角的角度的绝对值大于预设的第一阈值时,根据所述路径信息获取该夹角的第一直线和第二直线,并将所述第一直线和第二直线中长度较小的直线长度作为该夹角的第二阈值;
根据每个夹角对应的第二阈值,采用长度碰撞检测算法获取每个夹角对应的最大圆角化长度,并根据所述每个夹角对应的最大圆角化长度对所述待处理文字的每个夹角进行圆角化处理;
其中,根据所述路径信息获取该夹角的第一直线和第二直线,包括:
获取构成该夹角的两条边;
判断该夹角的两条边中是否存在二次贝塞尔曲线,当该夹角的两条边中存在二次贝塞尔曲线,则将该二次贝塞尔曲线的前两个控制点构成的直线替代该二次贝塞尔曲线,以便构成该夹角的第一直线和第二直线。
2.如权利要求1所述的文字圆角化处理方法,其特征在于,采用长度碰撞检测算法获取所述每个夹角对应的最大圆角化长度,并根据每个夹角对应的最大圆角化长度对所述待处理文字的每个夹角进行圆角化处理,包括:
根据预设量对预设的圆角化长度初始值进行逐步递增,每递增一次即检测当前圆角化长度是否小于第二阈值;
如果当前圆角化长度小于第二阈值,则继续对当前的圆角化长度进行递增,如果当前圆角化长度大于第二阈值,则获取前一步的圆角化长度作为该夹角的最大圆角化长度;
以此类推,计算所述待处理文字的每个夹角对应的最大圆角化长度;
根据所述每个夹角对应的最大圆角化长度获取每个夹角对应的三次贝塞尔曲线的控制点,并根据所述每个夹角对应的三次贝塞尔曲线对所述待处理文字的每个夹角进行圆角化处理。
3.如权利要求1所述的文字圆角化处理方法,其特征在于,采用长度碰撞检测算法获取所述每个夹角对应的最大圆角化长度,并根据每个夹角对应的最大圆角化长度对所述待处理文字的每个夹角进行圆角化处理,包括:
根据预设量对预设的圆角化长度初始值进行逐步递增,每递增一次即检测当前圆角化长度是否小于第二阈值;
如果当前圆角化长度小于第二阈值,则继续对当前圆角化长度进行递增,如果当前圆角化长度大于第二阈值,则获取前一步的圆角化长度作为该夹角的最大圆角化长度;
以此类推,计算所述待处理文字的每个夹角对应的最大圆角化长度,并将所述每个夹角对应的最大圆角化长度中的最小值作为所述待处理文字的所有夹角的最大圆角化长度;
根据所述待处理文字的所有夹角的最大圆角化长度获取三次贝塞尔曲线的控制点,并根据所述三次贝塞尔曲线对所述待处理文字的每个夹角进行圆角化处理。
4.如权利要求1-3中任一项所述的文字圆角化处理方法,其特征在于,在获取待处理文字的路径信息后还包括:
计算所述待处理文字中每条二次贝塞尔曲线对应的第一控制点和第二控制点组成的直线与第二控制点和第三控制点组成的直线所形成的夹角的角度;
将所述夹角的角度与第三阈值进行比较,如果小于所述第三阈值,则将第一控制点和第三控制点组成的直线代替所述二次贝塞尔曲线。
5.如权利要求1-3中任一项所述的文字圆角化处理方法,其特征在于,在获取待处理文字的路径信息后还包括:
计算所述待处理文字中每一条直线与前一条直线或者二次贝塞尔曲线后两个控制点组成的直线的夹角的角度;
将所述夹角的角度与第三阈值进行比较,如果小于所述第三阈值,则将两条直线合并成新的直线或者将直线与二次贝塞尔曲线后两个控制点组成的直线合并成新的二次贝塞尔曲线。
6.如权利要求1-3中任一项所述的文字圆角化处理方法,其特征在于,在获取待处理文字的路径信息后还包括:
计算所述待处理文字中每一条直线与后一条直线或者二次贝塞尔曲线前两个控制点组成的直线的夹角的角度;
将所述夹角的角度与第三阈值进行比较,如果小于所述第三阈值,则将两条直线合并成新的直线或者将直线与二次贝塞尔曲线前两个控制点组成的直线合并成新的二次贝塞尔曲线。
7.一种计算机可读存储介质,其特征在于,其上存储有文字圆角化处理程序,该文字圆角化处理程序被处理器执行时实现如权利要求1-6中任一项所述的文字圆角化处理方法。
8.一种计算机设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,其特征在于,所述处理器执行所述计算机程序时,实现如权利要求1-6中任一项所述的文字圆角化处理方法。
9.一种文字圆角化处理装置,其特征在于,包括:
获取模块,用于获取待处理文字的路径信息,并根据所述待处理文字的路径信息获取待处理文字中每个夹角的角度;
判断模块,用于判断待处理文字中每个夹角的角度的绝对值是否大于预设的第一阈值;
比较模块,用于当待处理文字中任意一个夹角的角度的绝对值大于预设的第一阈值时,根据所述路径信息获取该夹角的第一直线和第二直线,并将所述第一直线和第二直线中长度较小的直线长度作为该夹角的第二阈值;
处理模块,用于根据每个夹角对应的第二阈值,采用长度碰撞检测算法获取每个夹角对应的最大圆角化长度,并根据所述每个夹角对应的最大圆角化长度对所述待处理文字的每个夹角进行圆角化处理;
其中,根据所述路径信息获取该夹角的第一直线和第二直线,包括:
获取构成该夹角的两条边;
判断该夹角的两条边中是否存在二次贝塞尔曲线,当该夹角的两条边中存在二次贝塞尔曲线,则将该二次贝塞尔曲线的前两个控制点构成的直线替代该二次贝塞尔曲线,以便构成该夹角的第一直线和第二直线。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010172553.0A CN111444675B (zh) | 2020-03-12 | 2020-03-12 | 文字圆角化处理方法、介质、设备及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010172553.0A CN111444675B (zh) | 2020-03-12 | 2020-03-12 | 文字圆角化处理方法、介质、设备及装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN111444675A CN111444675A (zh) | 2020-07-24 |
CN111444675B true CN111444675B (zh) | 2022-08-16 |
Family
ID=71627455
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202010172553.0A Active CN111444675B (zh) | 2020-03-12 | 2020-03-12 | 文字圆角化处理方法、介质、设备及装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN111444675B (zh) |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101415079A (zh) * | 2008-11-04 | 2009-04-22 | 新奥特(北京)视频技术有限公司 | 一种将字幕对象转换为贝塞尔曲线的方法 |
CN101764945A (zh) * | 2008-11-04 | 2010-06-30 | 新奥特(北京)视频技术有限公司 | 一种基于贝塞尔曲线封闭轮廓的字幕渲染方法 |
CN110111425A (zh) * | 2019-05-07 | 2019-08-09 | 厦门欢乐逛科技股份有限公司 | 3d字体的斜角生成方法、介质、设备及装置 |
CN110852039A (zh) * | 2018-07-25 | 2020-02-28 | 北大方正集团有限公司 | Pdf文件中字符转曲线的方法及装置 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US10347016B2 (en) * | 2016-01-12 | 2019-07-09 | Monotype Imaging Inc. | Converting font contour curves |
-
2020
- 2020-03-12 CN CN202010172553.0A patent/CN111444675B/zh active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101415079A (zh) * | 2008-11-04 | 2009-04-22 | 新奥特(北京)视频技术有限公司 | 一种将字幕对象转换为贝塞尔曲线的方法 |
CN101764945A (zh) * | 2008-11-04 | 2010-06-30 | 新奥特(北京)视频技术有限公司 | 一种基于贝塞尔曲线封闭轮廓的字幕渲染方法 |
CN110852039A (zh) * | 2018-07-25 | 2020-02-28 | 北大方正集团有限公司 | Pdf文件中字符转曲线的方法及装置 |
CN110111425A (zh) * | 2019-05-07 | 2019-08-09 | 厦门欢乐逛科技股份有限公司 | 3d字体的斜角生成方法、介质、设备及装置 |
Also Published As
Publication number | Publication date |
---|---|
CN111444675A (zh) | 2020-07-24 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US20130141439A1 (en) | Method and system for generating animated art effects on static images | |
JP2011131040A5 (zh) | ||
US20150109290A1 (en) | Device and method for removing noise points in point clouds | |
US8355062B2 (en) | Method and apparatus for processing image | |
Abry et al. | A bridge between geometric measure theory and signal processing: Multifractal analysis | |
US10997528B2 (en) | Unsupervised model evaluation method, apparatus, server, and computer-readable storage medium | |
JP5523543B2 (ja) | 共学習に基づく概念認識方法および概念認識装置 | |
JP6936685B2 (ja) | ひび割れ検出装置、ひび割れ検出方法、および、コンピュータプログラム | |
JP2007305034A5 (zh) | ||
CN106469138B (zh) | 词云的生成方法及装置 | |
EP1906358A3 (en) | Vector graphics shape data generation apparatus, rendering apparatus, method, and program | |
CN106600663B (zh) | 一种基于二次b样条曲线的简单曲线平滑方法 | |
US10885636B2 (en) | Object segmentation apparatus and method using Gaussian mixture model and total variation | |
CN110660121B (zh) | 三维字体渲染方法、介质、设备及装置 | |
CN110782534B (zh) | 3d文字颜色渐变方法、介质、设备及装置 | |
CN111145328B (zh) | 三维文字表面纹理坐标计算方法、介质、设备及装置 | |
CN112634409A (zh) | 自定义动画曲线生成方法及装置 | |
CN111444675B (zh) | 文字圆角化处理方法、介质、设备及装置 | |
CN114092906B (zh) | 一种车道线分段拟合方法、系统、电子设备及存储介质 | |
CN111445562B (zh) | 文字动画生成方法及装置 | |
CN103336963A (zh) | 一种图像特征提取的方法及装置 | |
US20170213346A1 (en) | Image processing method and process simulation apparatus | |
CN111462278A (zh) | 基于深度的素材排序渲染方法、介质、设备及装置 | |
JP2011139449A5 (zh) | ||
JP2009271657A5 (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 |