資源描述:
《矢量字庫的設(shè)計與實現(xiàn)》由會員上傳分享,免費在線閱讀,更多相關(guān)內(nèi)容在行業(yè)資料-天天文庫。
1、計算機與現(xiàn)代化2006年第4期JISUANJIYUXIANDAIHUA總第128期文章編號:1006-2475(2006)04-0109-03矢量字庫的設(shè)計與實現(xiàn)鄧彬偉(黃石理工學院電氣與電子信息工程學院,湖北黃石435003)摘要:矢量字庫是使用矢量文字的主要方式。本文以一種輪廓文字位圖矢量化的方法為基礎(chǔ),詳細介紹了從文字位圖數(shù)據(jù)抓取、位圖輪廓提取、矢量化數(shù)據(jù)生成、到矢量化字庫生成、讀取及顯示的設(shè)計與實現(xiàn)方法。關(guān)鍵詞:矢量字庫;文字位圖;矢量化中圖分類號:TP311.52文獻標識碼:ADesignandImplementati
2、onofVectorFontsDENGBin-wei(SchooIofEIectricandEIectronicInformationEngineering,HuangshiInstituteofTechnoIogy,Huangshi435003,China)Abstract:Itismainmethodthatvectorfontsisadoptedbyusingvectorcharacter.ThepaperintroducesthedesignandimpIementationofvectorfontsfromcaptur
3、ingcharacterbitmap,abstractingbitmapcontourandcreatingvectordatatobuiIdingvectorfonts,IoadinganddispIayingbasedontheaIgorithmofcontourcharacterbitmapvector.Keywords:vectorfonts;characterbitmap;vector數(shù)和字庫中數(shù)據(jù)可自由增減等特點。0引言1矢量漢字庫設(shè)計總體結(jié)構(gòu)激光雕刻是激光技術(shù)在激光加工領(lǐng)域內(nèi)的重要應(yīng)用。激光雕刻系統(tǒng)一般由兩部分組成
4、:上位機(高文字顯示與抓屏激光雕刻調(diào)用與顯示速的PC)和下位機(低速控制器)組成。上位機主要針對圖像處理,下位機主要用于雕刻控制。目前的激256色文字位圖!單色輪廓文矢量字庫數(shù)據(jù)與矢量文字幾何變字位圖換處理接口光雕刻系統(tǒng)所處理的圖形包括位圖和矢量兩種。位圖雖然具有來源廣泛、格式多樣等優(yōu)點,但位圖耗費文字位圖矢量化矢量字庫的存儲空間大、放大易失真,所以雕刻效率低。而矢圖1矢量漢字庫設(shè)計總體結(jié)構(gòu)量圖形是由點、線組成,具有存儲空間大小固定、縮放2矢量漢字庫具體設(shè)計自如等特點,不僅能提高雕刻速度,而且文件小、放大2.1采用顯示和抓屏方法
5、獲得文字位圖無失真,所以雕刻能得到較高效率和精度。特別是針GB2312-80的內(nèi)碼編碼的范圍為:0XA1A1~對高速的流水線,矢量圖形具有更加無可比擬的優(yōu)0XFEFE,其中一、二級漢字對應(yīng)的內(nèi)碼范圍為0XB0A1勢。此外,矢量字庫是使用矢量漢字的主要方式。本文以四個像素點為單元,采用16方向深層窮盡搜索~0XF7FE;也即從一級漢字的第一個漢字“啊”到二級掃描方式進行輪廓文字位圖矢量化的方法[1]為基礎(chǔ),漢字的最后一個漢字“齄”。詳細介紹了從文字位圖數(shù)據(jù)抓取、位圖輪廓提取、矢根據(jù)內(nèi)碼編碼規(guī)則,輸出所有GB2312-80內(nèi)碼中量化
6、數(shù)據(jù)生成、到矢量化字庫生成、讀取及顯示的設(shè)的一級漢字和二級漢字和符號到文本編輯控件窗口,計與實現(xiàn)方法。生成的矢量字庫具有文件小、字庫個同時抓屏代碼抓取每個文字并生成位圖文件,文字大收稿日期:2005-11-14作者簡介:鄧彬偉(1973-),男,湖北武漢人,黃石理工學院電氣與電子信息工程學院講師,碩士,研究方向:計算機應(yīng)用及嵌入式系統(tǒng)。計算機與現(xiàn)代化2006年第4期小為100磅,文字為黑色,背景為白色,色彩數(shù)為256記為A。它的右、右上、上、左上四個鄰點中至少有一色,采用256色可使生成的位圖不至于太大,并可加個是邊界點,記為B
7、。從B開始找起,按右、右上、上、快處理速度。左上、左、左下、下、右下的順序找相鄰點中的邊界點抓屏步驟:C。如果C就是A點,則表明已經(jīng)轉(zhuǎn)了一圈,程序結(jié)(1)記下當前屏幕分辨率,并設(shè)置屏幕分辨率為束;否則從C點繼續(xù)找,直到找到A為止。判斷是不256色。是邊界點的方法是:如果它的上下左右四個鄰點都不(2)獲得文本編輯控件句柄。是黑點則它即為邊界點[2]。(3)調(diào)用GetDC()函數(shù)實現(xiàn)抓圖。采用以上輪廓跟蹤算法,對256色只有0(即黑(4)新建TImage類指針。色)和255(即白色)兩種像素值的文字位圖進行輪廓(5)設(shè)置圖像尺寸。提
8、取生成256色輪廓文字位圖。(6)調(diào)用TImage類的Picture下的saveToFiie()函(3)256色輪廓位圖到單色位圖轉(zhuǎn)化步驟。數(shù)保存抓取的圖像。①找到源DIB圖像像素起始位置、圖像的寬度、[6](7)恢復(fù)原始屏幕分辨率。高度;2.2采用VC++把2