欧美在线观看视频网站,亚洲熟妇色自偷自拍另类,啪啪伊人网,中文字幕第13亚洲另类,中文成人久久久久影院免费观看 ,精品人妻人人做人人爽,亚洲a视频

標(biāo)牌刻度值輪廓加粗繪制方法

文檔序號(hào):6331057閱讀:310來源:國知局
專利名稱:標(biāo)牌刻度值輪廓加粗繪制方法
技術(shù)領(lǐng)域
本發(fā)明涉及一種圖形繪制方法,尤其涉及一種標(biāo)牌刻度值輪廓加粗繪制方法,屬 于印刷技術(shù)領(lǐng)域。
背景技術(shù)
隨著計(jì)算機(jī)在工廠的普及,越來越多的企業(yè)使用CAD軟件進(jìn)行繪圖,在標(biāo)牌廠的 標(biāo)牌制作工藝流程中,一般先用CAD繪圖軟件將需要制作的標(biāo)牌圖形在計(jì)算機(jī)中繪制好并 保存,然后將標(biāo)牌圖形文件轉(zhuǎn)換成和激光照排機(jī)兼容的文件格式輸出到照排機(jī),照排機(jī)打 印出膠片后進(jìn)行生產(chǎn)。標(biāo)牌制造廠現(xiàn)有的繪圖軟件基于AutoCAD繪圖軟件,對(duì)標(biāo)牌繪制方 法做了一些改進(jìn),以輸入標(biāo)牌圓弧、刻度線、刻度值的各項(xiàng)參數(shù)的方法繪制標(biāo)牌,提高了工 作效率。制作標(biāo)牌時(shí)在精確顯示用戶所需要的標(biāo)牌樣式的同時(shí)還需考慮到標(biāo)牌的視覺效 果,主要體現(xiàn)在標(biāo)牌刻度值上,這里所說的刻度值主要指中文字、英文字、數(shù)字等,下文用文 字統(tǒng)稱。當(dāng)然一個(gè)標(biāo)牌中不僅僅是刻度值文字,還有不在標(biāo)牌刻度上的其他輔助文字,分 布在標(biāo)牌周圍,一般只要刻度值文字繪制成功,輔助文字的繪制也是同樣的方法,并且更簡(jiǎn) 單,不需考慮整體繪制和角度偏轉(zhuǎn)的問題。Windows軟件內(nèi)所提供的字體以及另安裝的其他 字體在正常情況下在AutoCAD中都可以繪制出來,但是,有些標(biāo)牌考慮視覺效果需要對(duì)刻 度值文字進(jìn)行加粗。在Word中字體設(shè)置中可以選擇加粗,在AutoCAD中字體樣式也可以設(shè) 置加粗,如果上述兩種方法選擇加粗后刻度文字仍達(dá)不到標(biāo)牌要求的視覺效果,就要對(duì)刻 度值文字進(jìn)行再加粗操作,標(biāo)牌制作企業(yè)繪圖員在進(jìn)行該操作時(shí)必須先在其它專業(yè)軟件中 繪制出加粗的刻度值文字,再以圖塊的方式貼到AutoCAD系統(tǒng)中。如果標(biāo)牌中有100個(gè)文 字就要粘貼100次,這樣工作人員在繪制的時(shí)候操作非常繁瑣,粘貼后又必須手工調(diào)整刻 度值的位置,手工操作使刻度值定位精確程度大大下降,所以繪制這類標(biāo)牌時(shí)繪圖員工作 量非常大,工作效率很低。因此,研究一種標(biāo)牌刻度值文字輪廓加粗的繪制方法,對(duì)減少繪 圖員工作量,提高工作效率,保證刻度值文字定位精度十分重要。

發(fā)明內(nèi)容
本發(fā)明的目的在于提供一種標(biāo)牌刻度值輪廓加粗繪制方法,減少繪圖員工作量, 提高工作效率,保證刻度值文字定位精度。本發(fā)明的目的通過以下技術(shù)方案予以實(shí)現(xiàn)一種標(biāo)牌刻度值輪廓加粗繪制方法,首先繪制標(biāo)牌圓弧、標(biāo)牌刻度線;其次確 定標(biāo)牌刻度值所在路徑弧的圓心和半徑、刻度值偏轉(zhuǎn)角度、刻度值的文字樣式、刻度值的 字體高度、寬度因子、字符間距等參數(shù),然后根據(jù)上述參數(shù)分別計(jì)算得到刻度值的定位點(diǎn) Location (x, y)和刻度值旋轉(zhuǎn)角度;然后進(jìn)行以下步驟1)設(shè)置輪廓加粗的寬度值Wl ;2)根據(jù)刻度值的文字樣式中的字體,定位點(diǎn)Location (X,y),字體高度參數(shù)通過 GetGlyphOutline方法,即取輪廓點(diǎn)方法遍歷獲得刻度值的輪廓點(diǎn)數(shù)組集;因任何的文字
3都是折線與曲線的組合,輪廓點(diǎn)有兩種類型折線與曲線,數(shù)組集內(nèi)的所有點(diǎn)按類型繪制后 就是文字的輪廓邊框;3)判斷輪廓點(diǎn)數(shù)組集類型,折線數(shù)組進(jìn)入步驟4),曲線數(shù)組進(jìn)入步驟5);4)遍歷折線數(shù)組,該數(shù)組由2個(gè)點(diǎn)組成,繪制2點(diǎn)線段line對(duì)象并寫入一個(gè)公用 的ObjectldCollection類中,折線線段寬度即為輪廓加粗寬度值wl,所有線段和曲線繪制 完成后就是文字的輪廓線,輪廓線的寬度就是wl,wl的值確定了字體加粗的樣式;5)遍歷曲線數(shù)組,該數(shù)組由4個(gè)點(diǎn)組成,繪制樣條曲線spline并寫入同一個(gè)公用 的ObjectldCollection類中,樣條曲線寬度即為輪廓加粗寬度值wl,所有線段和曲線繪制 完成后就是文字的輪廓線,輪廓線的寬度就是wl ;6)所有輪廓線繪制完成后根據(jù)不同的文字形成了多個(gè)任意多邊形,多邊形的集合 就是文字的輪廓邊框,此時(shí)文字是空心的,根據(jù)上面的ObjectldCollection類進(jìn)行多邊形 填充操作;7)根據(jù)每個(gè)刻度值旋轉(zhuǎn)角度參數(shù)將每個(gè)刻度值分別旋轉(zhuǎn)相應(yīng)的角度,刻度值繪制 完成。本發(fā)明的目的還可以通過以下技術(shù)措施來進(jìn)一步實(shí)現(xiàn)前述一種標(biāo)牌刻度值輪廓加粗繪制方法,其中定位點(diǎn)Location(X,y)通過以下方 法獲得根據(jù)刻度值路徑弧的圓心、半徑和每個(gè)刻度值的偏轉(zhuǎn)角度分別計(jì)算得到刻度值的 中心點(diǎn)A(x,y);根據(jù)已設(shè)定的刻度值的字體參數(shù)用多行文字的方式在刻度值的中心點(diǎn)A(x,y)位 置上逐一繪制刻度值,此時(shí)中心點(diǎn)A(x,y)位于繪制好的刻度值的左上角;通過范圍函數(shù)逐一得到繪制好的刻度值的范圍邊框,得到刻度值的高度值h和寬 度值w,將中心點(diǎn)A (X,y)向-χ軸方向移動(dòng)寬度值w的二分之一,向y軸方向移動(dòng)高度值h 的二分之一,得到點(diǎn)B(x-w/2,y+h/2),將該點(diǎn)記為刻度值的定位點(diǎn)Location (X,y);刪除前述繪制好的刻度值對(duì)象。與現(xiàn)有技術(shù)相比,本發(fā)明的有益效果是在繪制標(biāo)牌刻度值時(shí),需要在常規(guī)的 AutoCAD軟件字體之外更粗字體的情況下,能進(jìn)行字體輪廓自動(dòng)加粗,以滿足標(biāo)牌要求的視 覺效果,并且減少了繪圖員繪制時(shí)間,提高了工作效率,保證了刻度值文字定位的精度。


圖1是本發(fā)明的程序流程圖;圖2是刻度值定位點(diǎn)確定方法流程圖;圖3為未加粗的刻度值文字的輪廓線和字體;圖4為用本方法加粗的刻度值文字的輪廓線和字體;圖5是本實(shí)施例繪制好的標(biāo)牌圖形。
具體實(shí)施例方式下面結(jié)合附圖和具體實(shí)施例對(duì)本發(fā)明作進(jìn)一步說明。如圖1所示,進(jìn)行標(biāo)牌刻度值輪廓加粗的繪制,首先要繪制標(biāo)牌圓弧、標(biāo)牌刻度
4線;其次確定標(biāo)牌刻度值所在路徑弧的圓心和半徑、刻度值偏轉(zhuǎn)角度、刻度值的文字樣式、 刻度值的字體高度、寬度因子、字符間距等參數(shù),然后根據(jù)上述參數(shù)分別計(jì)算得到刻度值的 定位點(diǎn)Location (χ, y)和刻度值旋轉(zhuǎn)角度。如圖2所示,上述刻度值的定位點(diǎn)Location (χ, y)通過以下方法獲得根據(jù)刻度值路徑弧的圓心、半徑和每個(gè)刻度值的偏轉(zhuǎn)角度分別計(jì)算 得到刻度值的中心點(diǎn)A(x,y);根據(jù)已設(shè)定的刻度值的字體參數(shù)用多行文字的方式在刻度 值的中心點(diǎn)A(x,y)位置上逐一繪制刻度值,此時(shí)中心點(diǎn)A(x,y)位于繪制好的刻度值的左 上角;通過范圍函數(shù)逐一得到繪制好的刻度值的范圍邊框,得到刻度值的高度值h和寬度 值w,將中心點(diǎn)A(x,y)向-χ軸方向移動(dòng)寬度值w的二分之一,向y軸方向移動(dòng)高度值h的 二分之一,得到點(diǎn)B(x-w/2,y+h/2),將該點(diǎn)記為刻度值的定位點(diǎn)Location (X,y);刪除前述 繪制好的刻度值對(duì)象。如圖1所示,刻度值的定位點(diǎn)Location(X,y)確定后進(jìn)行以下步驟1)設(shè)置輪廓加粗的寬度值Wl ;2)根據(jù)刻度值的文字樣式中的字體,定位點(diǎn)Location (X,y),字體高度參數(shù)通過 GetGlyphOutline方法,即取輪廓點(diǎn)方法遍歷獲得刻度值的輪廓點(diǎn)數(shù)組集;因任何的文字 都是折線與曲線的組合,輪廓點(diǎn)有兩種類型折線與曲線,數(shù)組集內(nèi)的所有點(diǎn)按類型繪制后 就是文字的輪廓邊框;3)判斷輪廓點(diǎn)數(shù)組集類型,折線數(shù)組進(jìn)入步驟4),曲線數(shù)組進(jìn)入步驟5);4)遍歷折線數(shù)組,該數(shù)組由2個(gè)點(diǎn)組成,繪制2點(diǎn)線段line對(duì)象并寫入一個(gè)公用 的ObjectldCollection類中,折線線段寬度即為輪廓加粗寬度值wl,所有線段和曲線繪制 完成后就是文字的輪廓線,輪廓線的寬度就是wl,wl的值確定了字體加粗的樣式;5)遍歷曲線數(shù)組,該數(shù)組由4個(gè)點(diǎn)組成,繪制樣條曲線spline并寫入同一個(gè)公用 的ObjectldCollection類中,樣條曲線寬度即為輪廓加粗寬度值wl,所有線段和曲線繪制 完成后就是文字的輪廓線,輪廓線的寬度就是wl ;6)所有輪廓線繪制完成后根據(jù)不同的文字形成了多個(gè)任意多邊形,多邊形的集合 就是文字的輪廓邊框,此時(shí)文字是空心的,根據(jù)上面的ObjectldCollection類進(jìn)行多邊形 填充操作;7)根據(jù)每個(gè)刻度值旋轉(zhuǎn)角度參數(shù)將每個(gè)刻度值分別旋轉(zhuǎn)相應(yīng)的角度,刻度值繪制 完成。具體的,繪制一個(gè)刻度值輪廓加粗的標(biāo)牌,參數(shù)如下,圓弧圓心坐標(biāo)為(0,0),半徑 80mm,起始角度320度,終止角度220,刻度線圓心,刻度線半徑、起終角度與圓弧一樣,刻度 線均分50格,長(zhǎng)刻度均分5格,刻度值從左至右分別是零、一、二、三、四、五、六、七、八、九、 十,用戶給出每個(gè)中文刻度值的偏轉(zhuǎn)角度,刻度值高度5mm,刻度值輪廓加粗0. 3mm,刻度值 所在路徑弧的圓心為(0,0),半徑為70mm。根據(jù)上述參數(shù),首先繪制圓弧,然后繪制刻度線,接著進(jìn)行刻度值的繪制先輸入標(biāo)牌刻度值所在路徑弧的圓心(0,0)和半徑70mm;選擇刻度值的 文字樣式,確定刻度值的字體高度、寬度因子、字符間距;選擇刻度值的旋轉(zhuǎn)方向,一 般刻度值旋轉(zhuǎn)方式有垂直、向圓心、反向圓心和自定義四種;逐一輸入刻度值(零 一二三四五六七八九十)和偏轉(zhuǎn)角度;根據(jù)刻度值路徑弧的圓心(0,0)、半徑70mm和每個(gè) 刻度值的偏轉(zhuǎn)角度分別計(jì)算得到刻度值的中心定位點(diǎn)A(x,y),根據(jù)AutoCAD的繪制方法,
5AutoCAD繪制多行文字時(shí)不是以定位點(diǎn)作為中心進(jìn)行繪制的,因而點(diǎn)A(x,y)是AutoCAD繪 制的多行文字刻度值的左上角點(diǎn),所以沿著圓弧逐一繪制的刻度值的位置會(huì)偏向一邊,這 個(gè)定位點(diǎn)后續(xù)要進(jìn)行調(diào)整;根據(jù)刻度值的旋轉(zhuǎn)方式(垂直、向圓心、反向圓心和自定義之 一)和偏轉(zhuǎn)角度分別計(jì)算出每個(gè)刻度值的旋轉(zhuǎn)角度并保存,向圓心方式旋轉(zhuǎn)角度是偏轉(zhuǎn)角 度減90度,反向圓心方式旋轉(zhuǎn)角度是偏轉(zhuǎn)角度加90度,垂直方式和自定義方式無須計(jì)算, 垂直方式是90度,自定義角度既是旋轉(zhuǎn)角度;根據(jù)前面的刻度值的字體參數(shù)(文字字體、字 體高度、寬度因子、字符間距)用多行文字的方式以點(diǎn)A(x,y)定位逐一繪制刻度值;通過范 圍函數(shù)遍歷逐一得到繪制好的刻度值對(duì)象的范圍邊框,即得到刻度值的高度值h和寬度值 w,每個(gè)刻度值都不一樣,所以刻度值對(duì)象的范圍邊框也不一樣,刻度值的高度值h和寬度 值w也不一樣;將點(diǎn)A(x,y)向-χ軸方向移動(dòng)寬度值w的二分之一,向y軸方向移動(dòng)高度值h 的二分之一,得到點(diǎn)B(x-w/2,y+h/2),將該點(diǎn)記為刻度值的真正的定位點(diǎn)Location (X,y); 刪除前面繪制的刻度值對(duì)象,繪制這些對(duì)象的目的就是計(jì)算刻度值的定位點(diǎn)Location (X, y),以便于下面輪廓加粗刻度值的繪制,所有已繪制出來的刻度對(duì)象要?jiǎng)h除掉;設(shè)置輪廓加 粗的寬度值wl,wl取值0.3mm ;根據(jù)刻度值的文字樣式中的字體,定位點(diǎn)Location (χ,y), 字體高度參數(shù)通過GetGlyphOutline方法,即取輪廓點(diǎn)方法遍歷獲得刻度值的輪廓點(diǎn)數(shù)組 集,數(shù)組集內(nèi)的所有點(diǎn)如果按類型繪制后就是文字的輪廓邊框,輪廓點(diǎn)有兩種類型折線 (小線段)與曲線,因?yàn)槿魏蔚奈淖侄际钦劬€與曲線的組合;遍歷折線數(shù)組,該數(shù)組由2個(gè) 點(diǎn)組成,繪制2點(diǎn)線段line對(duì)象并寫入一個(gè)公用的0b jectldCollection對(duì)象集類中,線段 寬度即為輪廓加粗寬度值wl,所有線段和曲線繪制完成后就是文字的輪廓線,輪廓線的寬 度就是wl,wl的值確定了字體加粗的樣式;遍歷曲線數(shù)組,該數(shù)組由4個(gè)點(diǎn)組成,繪制樣條 曲線spline并寫入同一個(gè)公用的ObjectldCollection對(duì)象集類中,樣條曲線寬度即為輪 廓加粗寬度值wl,所有線段和曲線繪制完成后就是文字的輪廓線,輪廓線的寬度就是wl ; 所有輪廓線繪制完成后根據(jù)不同的文字就形成了多個(gè)任意多邊形,多邊形的集合就是文字 的輪廓邊框,此時(shí)文字是空心的,這里就看出wl的重要性了,wl的值決定了文字加粗的寬 度大小,所以該方法可以實(shí)現(xiàn)文字的任意加粗,標(biāo)牌內(nèi)所有需要加粗的文字都可以用上述 的方法實(shí)現(xiàn);因?yàn)楝F(xiàn)在文字是空心的,所有還需根據(jù)上面的ObjectldCollection對(duì)象集類 進(jìn)行多邊形填充操作,該類中記錄了文字的所有輪廓邊框數(shù)據(jù);最后根據(jù)上述計(jì)算出的每 個(gè)刻度值旋轉(zhuǎn)角度參數(shù)將每個(gè)刻度值分別旋轉(zhuǎn)相應(yīng)的角度,刻度值繪制完成。如圖3所示 為未加粗的刻度值文字的輪廓線和字體。如圖4所示為用本方法加粗的刻度值文字的輪廓 線和字體。如圖5所示,是本實(shí)施例繪制好的標(biāo)牌圖形。 除上述實(shí)施例外,本發(fā)明還可以有其他實(shí)施方式,凡采用等同替換或等效變換形 成的技術(shù)方案,均落在本發(fā)明要求的保護(hù)范圍內(nèi)。
權(quán)利要求
一種標(biāo)牌刻度值輪廓加粗繪制方法,首先繪制標(biāo)牌圓弧、標(biāo)牌刻度線;其次確定標(biāo)牌刻度值所在路徑弧的圓心和半徑、刻度值偏轉(zhuǎn)角度、刻度值的文字樣式、刻度值的字體高度、寬度因子、字符間距等參數(shù),然后根據(jù)上述參數(shù)分別計(jì)算得到刻度值的定位點(diǎn)Location(x,y)和刻度值旋轉(zhuǎn)角度;其特征在于,還包括以下步驟1)設(shè)置輪廓加粗的寬度值w1;2)根據(jù)刻度值的文字樣式中的字體,定位點(diǎn)Location(x,y),字體高度參數(shù)通過GetGlyphOutline方法,即取輪廓點(diǎn)方法遍歷獲得刻度值的輪廓點(diǎn)數(shù)組集;因任何的文字都是折線與曲線的組合,輪廓點(diǎn)有兩種類型折線與曲線,數(shù)組集內(nèi)的所有點(diǎn)按類型繪制后就是文字的輪廓邊框;3)判斷輪廓點(diǎn)數(shù)組集類型,折線數(shù)組進(jìn)入步驟4),曲線數(shù)組進(jìn)入步驟5);4)遍歷折線數(shù)組,該數(shù)組由2個(gè)點(diǎn)組成,繪制2點(diǎn)線段line對(duì)象并寫入一個(gè)公用的ObjectIdCollection類中,折線線段寬度即為輪廓加粗寬度值w1,所有線段和曲線繪制完成后就是文字的輪廓線,輪廓線的寬度就是w1,w1的值確定了字體加粗的樣式;5)遍歷曲線數(shù)組,該數(shù)組由4個(gè)點(diǎn)組成,繪制樣條曲線spline并寫入同一個(gè)公用的ObjectIdCollection類中,樣條曲線寬度即為輪廓加粗寬度值w1,所有線段和曲線繪制完成后就是文字的輪廓線,輪廓線的寬度就是w1;6)所有輪廓線繪制完成后根據(jù)不同的文字形成了多個(gè)任意多邊形,多邊形的集合就是文字的輪廓邊框,此時(shí)文字是空心的,根據(jù)上面的ObjectIdCollection類進(jìn)行多邊形填充操作;7)根據(jù)每個(gè)刻度值旋轉(zhuǎn)角度參數(shù)將每個(gè)刻度值分別旋轉(zhuǎn)相應(yīng)的角度,刻度值繪制完成。
2.如權(quán)利要求1所述的標(biāo)牌刻度值輪廓加粗繪制方法,其特征在于,所述定位點(diǎn) Location (x, y)通過以下方法獲得根據(jù)刻度值路徑弧的圓心、半徑和每個(gè)刻度值的偏轉(zhuǎn)角度分別計(jì)算得到刻度值的中心 點(diǎn) A (x, y);根據(jù)已設(shè)定的刻度值的字體參數(shù)用多行文字的方式在刻度值的中心點(diǎn)A(x,y)位置上 逐一繪制刻度值,此時(shí)中心點(diǎn)A(x,y)位于繪制好的刻度值的左上角;通過范圍函數(shù)逐一得到繪制好的刻度值的范圍邊框,得到刻度值的高度值h和寬度值 w,將中心點(diǎn)A(x,y)向-χ軸方向移動(dòng)寬度值w的二分之一,向y軸方向移動(dòng)高度值h的二 分之一,得到點(diǎn)B(x-w/2,y+h/2),將該點(diǎn)記為刻度值的定位點(diǎn)Location (X,y);刪除前述繪制好的刻度值對(duì)象。
全文摘要
本發(fā)明公開了一種標(biāo)牌刻度值輪廓加粗繪制方法,首先繪制圓弧、刻度線,計(jì)算定位點(diǎn)和旋轉(zhuǎn)角度,然后設(shè)置輪廓加粗的寬度值w1,根據(jù)字體、定位點(diǎn)、字體高度參數(shù)通過GetGlyphOutline方法遍歷獲得刻度值的輪廓點(diǎn)數(shù)組集,判斷輪廓點(diǎn)數(shù)組集類型;遍歷折線數(shù)組,繪制2點(diǎn)線段對(duì)象并寫入一個(gè)公用的ObjectIdCollection類中,遍歷曲線數(shù)組,繪制樣條曲線對(duì)象并寫入同一個(gè)公用的ObjectIdCollection類中,所有輪廓線繪制完成后,根據(jù)上面的ObjectIdCollection類進(jìn)行多邊形填充操作。本發(fā)明解決了刻度值字體輪廓加粗的技術(shù)問題,提高了工作效率。
文檔編號(hào)G06F17/50GK101916318SQ20101026587
公開日2010年12月15日 申請(qǐng)日期2010年8月27日 優(yōu)先權(quán)日2010年8月27日
發(fā)明者于蕭榕, 薛峰 申請(qǐng)人:鎮(zhèn)江科大船苑計(jì)算機(jī)網(wǎng)絡(luò)工程有限公司
網(wǎng)友詢問留言 已有0條留言
  • 還沒有人留言評(píng)論。精彩留言會(huì)獲得點(diǎn)贊!
1
柏乡县| 三亚市| 共和县| 沙田区| 常宁市| 甘孜县| 巴彦淖尔市| 伽师县| 伊金霍洛旗| 石首市| 禹州市| 五指山市| 杭锦旗| 玛曲县| 乐安县| 洮南市| 盐亭县| 循化| 岳阳市| 鄯善县| 丰都县| 黑水县| 库尔勒市| 沈丘县| 通许县| 陈巴尔虎旗| 巫山县| 正镶白旗| 霍林郭勒市| 伊金霍洛旗| 汤原县| 哈密市| 伊春市| 达孜县| 牡丹江市| 泗水县| 蚌埠市| 新乐市| 商南县| 余江县| 东丽区|