CN101916318B - 标牌刻度值轮廓加粗绘制方法 - Google Patents

标牌刻度值轮廓加粗绘制方法 Download PDF

Info

Publication number
CN101916318B
CN101916318B CN2010102658760A CN201010265876A CN101916318B CN 101916318 B CN101916318 B CN 101916318B CN 2010102658760 A CN2010102658760 A CN 2010102658760A CN 201010265876 A CN201010265876 A CN 201010265876A CN 101916318 B CN101916318 B CN 101916318B
Authority
CN
China
Prior art keywords
scale value
value
literal
width
overstriking
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.)
Expired - Fee Related
Application number
CN2010102658760A
Other languages
English (en)
Other versions
CN101916318A (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.)
Jiangsu Keda Huifeng Science & Technology Co., Ltd.
Original Assignee
ZHENJIANG KEDA CHUANYUAN COMPUTER NETWORK ENGINEERING 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 ZHENJIANG KEDA CHUANYUAN COMPUTER NETWORK ENGINEERING Co Ltd filed Critical ZHENJIANG KEDA CHUANYUAN COMPUTER NETWORK ENGINEERING Co Ltd
Priority to CN2010102658760A priority Critical patent/CN101916318B/zh
Publication of CN101916318A publication Critical patent/CN101916318A/zh
Application granted granted Critical
Publication of CN101916318B publication Critical patent/CN101916318B/zh
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Abstract

本发明公开了一种标牌刻度值轮廓加粗绘制方法,首先绘制圆弧、刻度线,计算定位点和旋转角度,然后设置轮廓加粗的宽度值w1,根据字体、定位点、字体高度参数通过GetGlyphOutline方法遍历获得刻度值的轮廓点数组集,判断轮廓点数组集类型;遍历折线数组,绘制2点线段对象并写入一个公用的ObjectIdCollection类中,遍历曲线数组,绘制样条曲线对象并写入同一个公用的ObjectIdCollection类中,所有轮廓线绘制完成后,根据上面的ObjectIdCollection类进行多边形填充操作。本发明解决了刻度值字体轮廓加粗的技术问题,提高了工作效率。

Description

标牌刻度值轮廓加粗绘制方法
技术领域
本发明涉及一种图形绘制方法,尤其涉及一种标牌刻度值轮廓加粗绘制方法,属于印刷技术领域。
背景技术
随着计算机在工厂的普及,越来越多的企业使用CAD软件进行绘图,在标牌厂的标牌制作工艺流程中,一般先用CAD绘图软件将需要制作的标牌图形在计算机中绘制好并保存,然后将标牌图形文件转换成和激光照排机兼容的文件格式输出到照排机,照排机打印出胶片后进行生产。标牌制造厂现有的绘图软件基于AutoCAD绘图软件,对标牌绘制方法做了一些改进,以输入标牌圆弧、刻度线、刻度值的各项参数的方法绘制标牌,提高了工作效率。制作标牌时在精确显示用户所需要的标牌样式的同时还需考虑到标牌的视觉效果,主要体现在标牌刻度值上,这里所说的刻度值主要指中文字、英文字、数字等,下文用文字统称。当然一个标牌中不仅仅是刻度值文字,还有不在标牌刻度上的其他辅助文字,分布在标牌周围,一般只要刻度值文字绘制成功,辅助文字的绘制也是同样的方法,并且更简单,不需考虑整体绘制和角度偏转的问题。Windows软件内所提供的字体以及另安装的其他字体在正常情况下在AutoCAD中都可以绘制出来,但是,有些标牌考虑视觉效果需要对刻度值文字进行加粗。在Word中字体设置中可以选择加粗,在AutoCAD中字体样式也可以设置加粗,如果上述两种方法选择加粗后刻度文字仍达不到标牌要求的视觉效果,就要对刻度值文字进行再加粗操作,标牌制作企业绘图员在进行该操作时必须先在其它专业软件中绘制出加粗的刻度值文字,再以图块的方式贴到AutoCAD系统中。如果标牌中有100个文字就要粘贴100次,这样工作人员在绘制的时候操作非常繁琐,粘贴后又必须手工调整刻度值的位置,手工操作使刻度值定位精确程度大大下降,所以绘制这类标牌时绘图员工作量非常大,工作效率很低。因此,研究一种标牌刻度值文字轮廓加粗的绘制方法,对减少绘图员工作量,提高工作效率,保证刻度值文字定位精度十分重要。
发明内容
本发明的目的在于提供一种标牌刻度值轮廓加粗绘制方法,减少绘图员工作量,提高工作效率,保证刻度值文字定位精度。
本发明的目的通过以下技术方案予以实现:
一种标牌刻度值轮廓加粗绘制方法,首先绘制标牌圆弧、标牌刻度线;其次确定标牌刻度值所在路径弧的圆心和半径、刻度值偏转角度、刻度值的文字样式、刻度值的字体高度、宽度因子、字符间距,然后根据上述参数分别计算得到刻度值的定位点Location(x,y)和刻度值旋转角度;定位点Location(x,y)通过以下方法获得:
根据刻度值路径弧的圆心、半径和每个刻度值的偏转角度分别计算得到刻度值的中心点A(x,y);
根据已设定的刻度值的字体参数用多行文字的方式在刻度值的中心点A(x,y)位置上逐一绘制刻度值,此时中心点A(x,y)位于绘制好的刻度值的左上角;
通过范围函数逐一得到绘制好的刻度值的范围边框,得到刻度值的高度值h和宽度值w,将中心点A(x,y)向-x轴方向移动宽度值w的二分之一,向y轴方向移动高度值h的二分之一,得到点B(x-w/2,y+h/2),将该点记为刻度值的定位点Location(x,y);
删除前述绘制好的刻度值对象。
然后进行以下步骤:
1)设置轮廓加粗的宽度值w1;
2)根据刻度值的文字样式中的字体,定位点Location(x,y),字体高度参数通过GetGlyphOutline方法,即取轮廓点方法遍历获得刻度值的轮廓点数组集;因任何的文字都是折线与曲线的组合,轮廓点有两种类型:折线与曲线,数组集内的所有点按类型绘制后就是文字的轮廓边框;
3)判断轮廓点数组集类型,折线数组进入步骤4),曲线数组进入步骤5);
4)遍历折线数组,该数组由2个点组成,绘制2点线段line对象并写入一个公用的ObjectIdCollection类中,折线线段宽度即为轮廓加粗宽度值w1,所有线段和曲线绘制完成后就是文字的轮廓线,轮廓线的宽度就是w1,w1的值确定了字体加粗的样式;
5)遍历曲线数组,该数组由4个点组成,绘制样条曲线spline并写入同一个公用的ObjectIdCollection类中,样条曲线宽度即为轮廓加粗宽度值w1,所有线段和曲线绘制完成后就是文字的轮廓线,轮廓线的宽度就是w1;
6)所有轮廓线绘制完成后根据不同的文字形成了多个任意多边形,多边形的集合就是文字的轮廓边框,此时文字是空心的,根据上面的ObjectIdCollection类进行多边形填充操作;
7)根据每个刻度值旋转角度参数将每个刻度值分别旋转相应的角度,刻度值绘制完成。
与现有技术相比,本发明的有益效果是:在绘制标牌刻度值时,需要在常规的AutoCAD软件字体之外更粗字体的情况下,能进行字体轮廓自动加粗,以满足标牌要求的视觉效果,并且减少了绘图员绘制时间,提高了工作效率,保证了刻度值文字定位的精度。
附图说明
图1是本发明的程序流程图;
图2是刻度值定位点确定方法流程图;
图3为未加粗的刻度值文字的轮廓线和字体;
图4为用本方法加粗的刻度值文字的轮廓线和字体;
图5是本实施例绘制好的标牌图形。
具体实施方式
下面结合附图和具体实施例对本发明作进一步说明。
如图1所示,进行标牌刻度值轮廓加粗的绘制,首先要绘制标牌圆弧、标牌刻度线;其次确定标牌刻度值所在路径弧的圆心和半径、刻度值偏转角度、刻度值的文字样式、刻度值的字体高度、宽度因子、字符间距,然后根据上述参数分别计算得到刻度值的定位点Location(x,y)和刻度值旋转角度。如图2所示,上述刻度值的定位点Location(x,y)通过以下方法获得:根据刻度值路径弧的圆心、半径和每个刻度值的偏转角度分别计算得到刻度值的中心点A(x,y);根据已设定的刻度值的字体参数用多行文字的方式在刻度值的中心点A(x,y)位置上逐一绘制刻度值,此时中心点A(x,y)位于绘制好的刻度值的左上角;通过范围函数逐一得到绘制好的刻度值的范围边框,得到刻度值的高度值h和宽度值w,将中心点A(x,y)向-x轴方向移动宽度值w的二分之一,向y轴方向移动高度值h的二分之一,得到点B(x-w/2,y+h/2),将该点记为刻度值的定位点Location(x,y);删除前述绘制好的刻度值对象。
如图1所示,刻度值的定位点Location(x,y)确定后进行以下步骤:
1)设置轮廓加粗的宽度值w1;
2)根据刻度值的文字样式中的字体,定位点Location(x,y),字体高度参数通过GetGlyphOutline方法,即取轮廓点方法遍历获得刻度值的轮廓点数组集;因任何的文字都是折线与曲线的组合,轮廓点有两种类型:折线与曲线,数组集内的所有点按类型绘制后就是文字的轮廓边框;
3)判断轮廓点数组集类型,折线数组进入步骤4),曲线数组进入步骤5);
4)遍历折线数组,该数组由2个点组成,绘制2点线段1ine对象并写入一个公用的ObjectIdCollection类中,折线线段宽度即为轮廓加粗宽度值w1,所有线段和曲线绘制完成后就是文字的轮廓线,轮廓线的宽度就是w1,w1的值确定了字体加粗的样式;
5)遍历曲线数组,该数组由4个点组成,绘制样条曲线spline并写入同一个公用的ObjectIdCollection类中,样条曲线宽度即为轮廓加粗宽度值w1,所有线段和曲线绘制完成后就是文字的轮廓线,轮廓线的宽度就是w1;
6)所有轮廓线绘制完成后根据不同的文字形成了多个任意多边形,多边形的集合就是文字的轮廓边框,此时文字是空心的,根据上面的ObjectIdCollection类进行多边形填充操作;
7)根据每个刻度值旋转角度参数将每个刻度值分别旋转相应的角度,刻度值绘制完成。
具体的,绘制一个刻度值轮廓加粗的标牌,参数如下,圆弧圆心坐标为(0,0),半径80mm,起始角度320度,终止角度220,刻度线圆心,刻度线半径、起终角度与圆弧一样,刻度线均分50格,长刻度均分5格,刻度值从左至右分别是零、一、二、三、四、五、六、七、八、九、十,用户给出每个中文刻度值的偏转角度,刻度值高度5mm,刻度值轮廓加粗0.3mm,刻度值所在路径弧的圆心为(0,0),半径为70mm。
根据上述参数,首先绘制圆弧,然后绘制刻度线,接着进行刻度值的绘制:
先输入标牌刻度值所在路径弧的圆心(0,0)和半径70mm;选择刻度值的文字样式,确定刻度值的字体高度、宽度因子、字符间距;选择刻度值的旋转方向,一般刻度值旋转方式有垂直、向圆心、反向圆心和自定义四种;逐一输入刻度值(零一二三四五六七八九十)和偏转角度;根据刻度值路径弧的圆心(0,0)、半径70mm和每个刻度值的偏转角度分别计算得到刻度值的中心定位点A(x,y),根据AutoCAD的绘制方法,AutoCAD绘制多行文字时不是以定位点作为中心进行绘制的,因而点A(x,y)是AutoCAD绘制的多行文字刻度值的左上角点,所以沿着圆弧逐一绘制的刻度值的位置会偏向一边,这个定位点后续要进行调整;根据刻度值的旋转方式(垂直、向圆心、反向圆心和自定义之一)和偏转角度分别计算出每个刻度值的旋转角度并保存,向圆心方式旋转角度是偏转角度减90度,反向圆心方式旋转角度是偏转角度加90度,垂直方式和自定义方式无须计算,垂直方式是90度,自定义角度既是旋转角度;根据前面的刻度值的字体参数(文字字体、字体高度、宽度因子、字符间距)用多行文字的方式以点A(x,y)定位逐一绘制刻度值;通过范围函数遍历逐一得到绘制好的刻度值对象的范围边框,即得到刻度值的高度值h和宽度值w,每个刻度值都不一样,所以刻度值对象的范围边框也不一样,刻度值的高度值h和宽度值w也不一样;将点A(x,y)向-x轴方向移动宽度值w的二分之一,向y轴方向移动高度值h的二分之一,得到点B(x-w/2,y+h/2),将该点记为刻度值的真正的定位点Location(x,y);删除前面绘制的刻度值对象,绘制这些对象的目的就是计算刻度值的定位点Location(x,y),以便于下面轮廓加粗刻度值的绘制,所有已绘制出来的刻度对象要删除掉;设置轮廓加粗的宽度值w1,w1取值0.3mm;根据刻度值的文字样式中的字体,定位点Location(x,y),字体高度参数通过GetGlyphOutline方法,即取轮廓点方法遍历获得刻度值的轮廓点数组集,数组集内的所有点如果按类型绘制后就是文字的轮廓边框,轮廓点有两种类型:折线(小线段)与曲线,因为任何的文字都是折线与曲线的组合;遍历折线数组,该数组由2个点组成,绘制2点线段line对象并写入一个公用的ObjectIdCollection对象集类中,线段宽度即为轮廓加粗宽度值w1,所有线段和曲线绘制完成后就是文字的轮廓线,轮廓线的宽度就是w1,w1的值确定了字体加粗的样式;遍历曲线数组,该数组由4个点组成,绘制样条曲线spline并写入同一个公用的ObjectIdCollection对象集类中,样条曲线宽度即为轮廓加粗宽度值w1,所有线段和曲线绘制完成后就是文字的轮廓线,轮廓线的宽度就是w1;所有轮廓线绘制完成后根据不同的文字就形成了多个任意多边形,多边形的集合就是文字的轮廓边框,此时文字是空心的,这里就看出w1的重要性了,w1的值决定了文字加粗的宽度大小,所以该方法可以实现文字的任意加粗,标牌内所有需要加粗的文字都可以用上述的方法实现;因为现在文字是空心的,所有还需根据上面的ObjectIdCollection对象集类进行多边形填充操作,该类中记录了文字的所有轮廓边框数据;最后根据上述计算出的每个刻度值旋转角度参数将每个刻度值分别旋转相应的角度,刻度值绘制完成。如图3所示为未加粗的刻度值文字的轮廓线和字体。如图4所示为用本方法加粗的刻度值文字的轮廓线和字体。如图5所示,是本实施例绘制好的标牌图形。
除上述实施例外,本发明还可以有其他实施方式,凡采用等同替换或等效变换形成的技术方案,均落在本发明要求的保护范围内。

Claims (1)

1.一种标牌刻度值轮廓加粗绘制方法,首先绘制标牌圆弧、标牌刻度线;其次确定标牌刻度值所在路径弧的圆心和半径、刻度值偏转角度、刻度值的文字样式、刻度值的字体高度、宽度因子、字符间距,然后根据上述参数分别计算得到刻度值的定位点Location(x,y)和刻度值旋转角度;所述定位点Location(x,y)通过以下方法获得:
根据刻度值路径弧的圆心、半径和每个刻度值的偏转角度分别计算得到刻度值的中心点A(x,y);
根据已设定的刻度值的字体参数用多行文字的方式在刻度值的中心点A(x,y)位置上逐一绘制刻度值,此时中心点A(x,y)位于绘制好的刻度值的左上角;
通过范围函数逐一得到绘制好的刻度值的范围边框,得到刻度值的高度值h和宽度值w,将中心点A(x,y)向-x轴方向移动宽度值w的二分之一,向y轴方向移动高度值h的二分之一,得到点B(x-w/2,y+h/2),将该点记为刻度值的定位点Location(x,y);
删除前述绘制好的刻度值对象;
其特征在于,还包括以下步骤:
1)设置轮廓加粗的宽度值w1;
2)根据刻度值的文字样式中的字体,定位点Location(x,y),字体高度参数通过GetGlyphOutline方法,即取轮廓点方法遍历获得刻度值的轮廓点数组集;因任何的文字都是折线与曲线的组合,轮廓点有两种类型:折线与曲线,数组集内的所有点按类型绘制后就是文字的轮廓边框;
3)判断轮廓点数组集类型,折线数组进入步骤4),曲线数组进入步骤5);
4)遍历折线数组,该数组由2个点组成,绘制2点线段line对象并写入一个公用的ObjectIdCollection类中,折线线段宽度即为轮廓加粗宽度值w1,所有线段和曲线绘制完成后就是文字的轮廓线,轮廓线的宽度就是w1,w1的值确定了字体加粗的样式;
5)遍历曲线数组,该数组由4个点组成,绘制样条曲线spline并写入同一个公用的ObjectIdCollection类中,样条曲线宽度即为轮廓加粗宽度值w1,所有线段和曲线绘制完成后就是文字的轮廓线,轮廓线的宽度就是w1;
6)所有轮廓线绘制完成后根据不同的文字形成了多个任意多边形,多边形的集合就是文字的轮廓边框,此时文字是空心的,根据上面的ObjectIdCollection类进行多边形填充操作;
7)根据每个刻度值旋转角度参数将每个刻度值分别旋转相应的角度,刻度值绘制完成。
CN2010102658760A 2010-08-27 2010-08-27 标牌刻度值轮廓加粗绘制方法 Expired - Fee Related CN101916318B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN2010102658760A CN101916318B (zh) 2010-08-27 2010-08-27 标牌刻度值轮廓加粗绘制方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN2010102658760A CN101916318B (zh) 2010-08-27 2010-08-27 标牌刻度值轮廓加粗绘制方法

Publications (2)

Publication Number Publication Date
CN101916318A CN101916318A (zh) 2010-12-15
CN101916318B true CN101916318B (zh) 2012-06-06

Family

ID=43323830

Family Applications (1)

Application Number Title Priority Date Filing Date
CN2010102658760A Expired - Fee Related CN101916318B (zh) 2010-08-27 2010-08-27 标牌刻度值轮廓加粗绘制方法

Country Status (1)

Country Link
CN (1) CN101916318B (zh)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102750264A (zh) * 2012-06-12 2012-10-24 华东师范大学 一种Truetype字体加粗数据处理方法
CN105096356A (zh) * 2014-05-13 2015-11-25 北大方正集团有限公司 手写字符加粗方法和手写字符加粗装置

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5426859A (en) * 1993-12-06 1995-06-27 Fiskars, Inc. Measuring and drawing instrument
CN101254485B (zh) * 2007-12-13 2011-02-16 昆明理工大学 一种微泡发生器的开发方法
CN101625712A (zh) * 2009-08-12 2010-01-13 镇江科大船苑计算机网络工程有限公司 标牌制作计算机绘图系统及绘图方法

Also Published As

Publication number Publication date
CN101916318A (zh) 2010-12-15

Similar Documents

Publication Publication Date Title
CN103310042B (zh) 用于布置三维角筋的方法
CN104951632B (zh) 用于圆台表面混凝土结构的三维布筋方法
CN106447671A (zh) 一种根据指定面积的矢量多边形自动分割方法
CN107562980A (zh) 一种基于bim模型的几何信息提取方法
CN101916318B (zh) 标牌刻度值轮廓加粗绘制方法
CN110246203A (zh) 一种基于影像图绘制数字线划地形图的方法
CN109145359B (zh) 一种基于bim系统和cad软件的钢结构备料方法
CN103942361A (zh) 三维流程工厂设计中支吊架的自动计算方法及模块
CN115408762B (zh) 一种适用于三维设计钢筋表的钢筋简图自适应生成方法
CN115063557B (zh) 一种基于倾斜模型的建筑物智能提取方法及装置
CN110765541A (zh) 地铁车站围护结构bim模型的建立方法、装置及存储介质
CN104978466A (zh) 用于多引导线的三维定数布筋方法
CN101882175A (zh) 离心标牌制作的计算机绘图方法
CN114818031A (zh) 基于bim设计技术的异性幕墙系统
CN108875720B (zh) 矢量字体的骨架线提取方法及装置
KR101565719B1 (ko) 폰트 아웃라인의 변화에 따라 명령을 생성하는 방법 및 시스템
CN102981842B (zh) 一种生成可交互横道图的方法
CN110543733B (zh) 用于金属板下单加工的方法及装置与设备和存储介质
CN101944237B (zh) 标牌曲线文字绘制方法
CN107945258A (zh) 一种三维图形自动简化生成方法
CN108986212B (zh) 一种基于裂缝消除的三维虚拟地形lod模型的生成方法
CN102184300B (zh) 标牌矩形图形计算机绘图方法
CN103453884A (zh) 基于分区的完整地物测绘作业方法
DE112023000145T5 (de) Bauweise für ein hebepfad-planungsmodell, hebepfadplanungsverfahren und kran
CN101916316A (zh) 标牌刻度值绘制方法

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
C14 Grant of patent or utility model
GR01 Patent grant
C56 Change in the name or address of the patentee

Owner name: JIANGSU KEDA HUIFENG TECHNOLOGY CO., LTD.

Free format text: FORMER NAME: ZHENJIANG KEDA CHUANYUAN COMPUTER NETWORK ENGINEERING CO., LTD.

CP01 Change in the name or title of a patent holder

Address after: 212003 Zhenjiang City, Jiangsu province dream Creek Road, No. 2

Patentee after: Jiangsu Keda Huifeng Science & Technology Co., Ltd.

Address before: 212003 Zhenjiang City, Jiangsu province dream Creek Road, No. 2

Patentee before: Zhenjiang Keda Chuanyuan Computer Network Engineering Co., Ltd.

CF01 Termination of patent right due to non-payment of annual fee
CF01 Termination of patent right due to non-payment of annual fee

Granted publication date: 20120606

Termination date: 20180827