一种线型的颜色渐变方法及系统的制作方法

文档序号:6557684阅读:203来源:国知局
专利名称:一种线型的颜色渐变方法及系统的制作方法
技术领域
本发明涉及一种绘图技术,尤其是指一种线型的颜色渐变方法及系统,以达到一种很好的线型视觉效果。
背景技术
在绘图技术中,采用各种线型来组成需要绘制的图形,其中所用到的线型号包括单线、双线、点线以及点划线等等,但是所有这些线型的颜色一般分为单色和多色,对于单色线条一般在一幅图中采用各种颜色的线条来区分各个曲线或者组成结构;而对于采用多色颜色的线条来说,需要在线型绘制时需要从一种颜色过渡到另一种颜色(也是称为线型渐变),目前采用的多数的软件中,这种线型渐变或是类似于线型渐变的功能,主要采用如下的方法步骤实现1、取得要进行线型渐变操作的线型的外包矩形;2、在线型的外包矩形中绘制按线型的颜色渐变的底纹;3、利用线型的轮廓线对填充后的矩形进行裁减。
以上方法也能实现线型的颜色渐变,但是颜色的渐变的方向并不确定,在很多情况下颜色的渐变方向与线型的形状并无关系,这导致了线型渐变的效果并不理想,不能真正实现线型的颜色渐变。

发明内容
本发明提供一种线型的颜色渐变方法,用以解决现有技术中存在线型渐变的效果不理想问题。
本发明方法包括以下步骤A、取得线型设定的渐变颜色范围;
B、根据步骤A中的渐变颜色范围计算颜色总数,由数据库中读取渐变颜色中的各个颜色对应的颜色值;C、根据步骤B的计算结果将线型划分成与颜色总数对应的多个区域;D、按照步骤B中读取的颜色值在划分的区域中依次填充对应的颜色。
在步骤C中是沿着线型的方向,在线长范围内每隔距离m/(N-1)计算出一条平行线,得到与颜色总数相同的多个区域,其中m为线型的长度,N为颜色总数。
所述步骤C可以包括C1、确定线型的法线;C2、沿着步骤C1中确定的法线方向,在线宽范围内每隔距离k/(N-1)计算出一条平行线,得到与颜色总数相同的多个区域,其中k为线型的宽度,N为颜色总数。
在步骤B中,还包括对渐变颜色中包括的每种颜色数目的计算。
在步骤B与步骤C之间还包括B1、计算每种颜色在渐变颜色中占的比重,颜色的比重计算公式为C(N)=n/N,其中n为每种颜色的数目,N为渐变颜色的颜色总数。
在本发明的方法中,所述的步骤C包括C1′、确定线型的两侧轮廓线;C2′、沿线型的方向,根据步骤B1计算的比重值分别在步骤C1中的两轮廓线上设置与颜色总数数量相同的点;C3′、连接两轮廓线上设置的点。
在本发明的方法中,所述的步骤C包括C1″、确定线型的法线;C2″、沿着步骤C1″中确定的法线方向,在线宽范围内根据步骤B1计算的比重值做多条与法线垂直的线,将线型分成与颜色总数相同的区域。
本发明还提出一种线型颜色渐变的系统,包括
颜色设定单元,设定线型颜色渐变范围;计算单元,根据颜色设定单元的信息计算颜色渐变范围内包含的颜色总数,并从数据库中读取颜色渐变范围内的颜色的颜色值;区域划分单元,根据计算单元的信息进行区域划分;颜色填充单元,根据区域的划分以及计算单元提供的颜色值进行颜色填充。
所述计算单元包括颜色比重计算单元,计算颜色渐变范围内每一颜色占的比重。
所述区域划分单元具有沿线划分单元或法向划分单元,所述沿线划分单元在沿线方向上对线型作出区域划分,所述法向划分单元在法向上对线型作出区域划分。
本发明有益效果如下本发明采用两种方式对线型渐变颜色的设置,使线型的颜色渐变是沿着线型方向或者是沿着法线方向变化,更能体现颜色变化与线型的形状或与延伸的方向之间关系,线型渐变能达到更好的技术效果。


图1为本发明的实施例一的方法流程图;图2为本发明的实施例二的方法流程图;图3为本发明的实施例二中区域划分的方法流程图;图4A、图4B以及图4C为本发明的三个实施例的渐变颜色设置的示意图;图5为本发明的系统框图。
具体实施例方式
实施例一本发明指出一种线型颜色渐变的方法,包括以下步骤
A、取得设定的线型渐变颜色范围;B、根据步骤A中确定的渐变颜色范围计算颜色总数,在数据库中读取渐变颜色中的所有颜色对应的颜色值;C、根据步骤B的计算结果将线型划分成与颜色总数对应的多个区域;D、依据步骤B中读取的颜色值在划分的区域中依次填充对应的颜色。
在本实施例中,结合图4A,步骤C中的区域划分可以采用以下的方法首先确定线型401的法线4010;然后沿着该法线方向,在线宽范围内,每隔距离k/(N-1)计算出一条平行线,其中k为线型的宽度,N为颜色总数,如图4A中的4011以及4012,这些平行线与线型的轮廓线构成与颜色总数N相同的N区域。
结合上述步骤以及图1所示的流程图,举例说明在进行线型的渐变颜色的设置时,根据需要设定线型x渐变颜色的范围,例如确定的范围为黑到白,根据这个范围就能计算出这个渐变过程中包括的颜色总数,假设计算出的是五十,读取数据库中这五十种颜色分别对应的颜色值,按照上述划分区域的方法,划分出与颜色总数相同的区域,按照确定的渐变颜色的范围依次读取五十种颜色的颜色值,将这些颜色依次填充到划分的这些区域中去,实现线型颜色渐变,达到本发明的目的。
在本实施例中,步骤C中的区域的划分可以是沿线方向,沿线进行区域划分的时候,是在线长范围内每隔距离m/(N-1)计算出一条平行线,其中m为线型的长度,N为颜色总数,如图4B中的4020以及4021,这些平行线与线型的轮廓线构成与颜色总数N相同的N区域,然后将颜色依次填充到划分的区域中,其原理与上述实施例相同,同样也可以实现本发明的目的。
实施例二如图2所示,本发明的方法流程可为201、取得设定的线型渐变颜色范围;
202、根据步骤201中确定的渐变颜色范围计算其中包括的每种颜色的数目以及颜色总数,在数据库中读取渐变颜色中的所有颜色对应的颜色值;203、计算每种颜色在渐变颜色中占的比重;204、根据步骤203中计算的比重值将线型划分成与颜色总数相同的多个区域;205、在划分的区域中依次填充步骤B中读取的颜色值对应的颜色。
在本实施例中,颜色的比重计算公式为C(N)=n/N,其中n为每种颜色的数目,N为渐变颜色的颜色总数。
在本实施例中,如图3所示,步骤204中进行区域划分的步骤为301、确定线型的两侧轮廓线;302、沿线型的方向,根据步骤204计算的比重值分别在步骤301中的两轮廓线上设置与颜色总数相同的节点;303、连接两轮廓线上设置的节点,完成区域的划分。
参考图4B对本发明的方法流程进行说明,图中要采用线型渐变的线型b,确定线型b进行颜色渐变的范围为红到白,再从白到蓝,根据该颜色渐变范围计算出该范围内包括颜色的总数假设为K个(例如红、橘红、浅红......灰、白、浅蓝......蓝等),其中从红到白有N种颜色,分别为N1、N2......Nn。从白到蓝有M种颜色,分别为M1、M2......Mm。K为N与M之和。在数据库中读取这K种颜色对应的颜色值(例如红对应的是55、橘红对应的是54、直读取到蓝的颜色值),并同时计算出这K种颜色在整个颜色渐变过程(从红到白,再从白到蓝)中所占的比重(颜色的比重值,每种颜色占的比重为N1/K,N2/K......Nn/K,M1/K,M2/K......Mn/K;再确定线型b的轮廓线b1以及b2,在两个轮廓线上根据计算每种颜色的比重设置K个点。如轮廓线b1上的b10、b11.......b1k,轮廓线b2上的b20、b21......b2k,然后将点b10与b20、b11与b21、......、b1k与b2k连接起来,将该线型b划分为K个区域。其中这K个区域分别占整个线型b所占区域的比重分别为N1/K,N2/K......Nn/K,M1/K,M2/K......Mn/K。再分别将颜色渐变范围内包括的颜色依次填充到这些区域中,完成线型的颜色渐变,实现本发明的目的。
实施例三本实施例的原理与实施例2相同,本实施例与实施例二的区别在于,两者进行区域划分的方法不同,在本实施例中,对于线型的颜色渐变是在法向方向上实现的,也就是在进行划分区域时,要确定线型的法线位置,然后沿着确定的法线方向,根据计算的比重值将线型(线型的宽度)分成与颜色总数相同的区域。
参考图4C,对本发明的方法流程进行说明,图中要采用线型渐变的为线型c,确定线型c进行颜色渐变的范围为红到白,根据该颜色渐变范围计算出该范围内包括颜色的总数假设为七个(例如红、橘红、浅红......灰、白等),在数据库中读取这些颜色对应的颜色值(例如红对应的是55、橘红对应的是54、直读取到白的颜色值),并同时计算出每种颜色的数目,根据该计算结果计算出每种颜色的比重,有关比重的计算可以参见实施例二中的内容;确定线型c的法线为c1、c2,沿着法向,根据计算的比重值(沿着线型的宽度)以c1、从c2为法线,作出多条平行线,将线型c分为七个区域,再分别将颜色渐变范围内包括的颜色依次填充到这些区域中,完成线型的颜色渐变,实现本发明的目的。
本发明还提出一种实现上述方法的线型颜色渐变系统,如图5所示,包括颜色设定单元501,设定线型颜色渐变范围;计算单元502,根据颜色设定单元的信息计算颜色渐变范围内包含的颜色总数,并从数据库505中读取颜色渐变范围内的颜色的颜色值;区域划分单元503,根据计算单元502的信息进行线型的区域划分;颜色填充单元504,根据区域的划分以及计算单元502提供的颜色值进行颜色填充。
在本发明所述的系统中,所述计算单元502包括计算颜色渐变范围内每一颜色占的比重的颜色比重计算单元;所述区域划分单元503具有沿线划分单元或法向划分单元,所述沿线划分单元在沿线方向上对线型作出区域划分,所述法向划分单元在法向上对线型作出区域划分。
结合上述实施例对本发明的系统进行说明,颜色设定单元501对要采用线型颜色渐变的线型b的颜色渐变范围进行设定,例如红到白,计算单元502根据颜色设定单元501设定的颜色渐变范围计算出该范围内包括颜色的总数,假设为七个(例如红、橘红、浅红......灰、白等),在数据库505中读取这些颜色对应的颜色值(例如红对应的是55、橘红对应的是54、直读取到白的颜色值),计算单元502并同时计算出每种颜色的数目,颜色比重计算单元根据该计算结果计算出每种颜色的比重,计算过程可参见上述实施例二;区域划分单元503中的沿线区域划分单元确定线型b的轮廓线b1以及b2,在两个轮廓线上根据计算每种颜色的比重设置多个点,将如轮廓线b1与轮廓线b2上设置的点对应的连接起来,将该线型b划分为七个区域,再由颜色填充单元504将颜色渐变范围内包括的颜色依次填充到这些区域中,完成线型的颜色渐变,实现本发明的目的。
显然,本领域的技术人员可以对本发明进行各种改动和变型而不脱离本发明的精神和范围。这样,倘若本发明的这些修改和变型属于本发明权利要求及其等同技术的范围之内,则本发明也意图包含这些改动和变型在内。
权利要求
1.一种线型颜色渐变的方法,其特征在于,包括以下步骤A、取得线型设定的渐变颜色范围;B、根据步骤A中的渐变颜色范围计算颜色总数,由数据库中读取渐变颜色中的各个颜色对应的颜色值;C、根据步骤B的计算结果将线型划分成与颜色总数对应的多个区域;D、按照步骤B中读取的颜色值在划分的区域中依次填充对应的颜色。
2.根据权利要求1所述的方法,其特征在于,在步骤C中是沿着线型的方向,在线长范围内每隔距离m/(N-1)计算出一条平行线,得到与颜色总数相同的多个区域,其中m为线型的长度,N为颜色总数。
3.根据权利要求1所述的方法,其特征在于,步骤C包括C1、确定线型的法线;C2、沿着步骤C1中确定的法线方向,在线宽范围内每隔距离k/(N-1)计算出一条平行线,得到与颜色总数相同的多个区域,其中k为线型的宽度,N为颜色总数。
4.根权利要求1所述的方法,其特征在于,在步骤B中,还包括对渐变颜色中包括的每种颜色数目的计算。
5.根据权利要求4所述的方法,其特征在于,在步骤B与步骤C之间还包括B1、计算每种颜色在渐变颜色中占的比重,颜色的比重计算公式为C(N)=n/N,其中n为每种颜色的数目,N为渐变颜色的颜色总数。
6.根据权利要求5所述的方法,其特征在于,所述的步骤C包括C1′、确定线型的两侧轮廓线;C2′、沿线型的方向,根据步骤B1计算的比重值分别在步骤C1中的两轮廓线上设置与颜色总数数量相同的点;C3′、连接两轮廓线上设置的点。
7.根据权利要求5所述的方法,其特征在于,所述的步骤C包括C1″、确定线型的法线;C2″、沿着步骤C1″中确定的法线方向,在线宽范围内根据步骤B1计算的比重值做多条与法线垂直的线,将线型分成与颜色总数相同的区域。
8.一种线型颜色渐变的系统,其特征在于,包括颜色设定单元,设定线型颜色渐变范围;计算单元,根据颜色设定单元的信息计算颜色渐变范围内包含的颜色总数,并从数据库中读取颜色渐变范围内的颜色的颜色值;区域划分单元,根据计算单元的信息进行区域划分;颜色填充单元,根据区域的划分以及计算单元提供的颜色值进行颜色填充。
9.根据权利要求8所述的系统,其特征在于,所述计算单元包括颜色比重计算单元,计算颜色渐变范围内每一颜色占的比重。
10.根据权利要求9所述的系统,其特征在于,所述区域划分单元具有沿线划分单元或法向划分单元,所述沿线划分单元在沿线方向上对线型作出区域划分,所述法向划分单元在法向上对线型作出区域划分。
全文摘要
本发明公开了一种线型颜色渐变的方法,包括以下步骤A.取得线型设定的渐变颜色范围;B.根据步骤A中的渐变颜色范围计算颜色总数,由数据库中读取渐变颜色中的各个颜色对应的颜色值;C.根据步骤B的计算结果将线型划分成与颜色总数对应的多个区域;D.按照步骤B中读取的颜色值在划分的区域中依次填充对应的颜色。本发明使线型的颜色渐变是沿着线型方向或者是沿着法线方向变化,更能体现颜色变化与线型的形状或与延伸的方向之间关系,线型渐变能达到更好的技术效果。
文档编号G06T1/00GK101046881SQ20061006688
公开日2007年10月3日 申请日期2006年3月31日 优先权日2006年3月31日
发明者陈宇, 刘阳, 付蔷 申请人:北京北大方正电子有限公司, 北京大学
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1