• <ins id="pjuwb"></ins>
    <blockquote id="pjuwb"><pre id="pjuwb"></pre></blockquote>
    <noscript id="pjuwb"></noscript>
          <sup id="pjuwb"><pre id="pjuwb"></pre></sup>
            <dd id="pjuwb"></dd>
            <abbr id="pjuwb"></abbr>
            Impossible is nothing  
              愛過知情重醉過知酒濃   花開花謝終是空   緣份不停留像春風(fēng)來又走   女人如花花似夢
            公告
            日歷
            <2025年5月>
            27282930123
            45678910
            11121314151617
            18192021222324
            25262728293031
            1234567
            統(tǒng)計
            • 隨筆 - 8
            • 文章 - 91
            • 評論 - 16
            • 引用 - 0

            導(dǎo)航

            常用鏈接

            留言簿(4)

            隨筆分類(4)

            隨筆檔案(8)

            文章分類(77)

            文章檔案(91)

            相冊

            搜索

            •  

            最新評論

            閱讀排行榜

            評論排行榜

             

            在計算機(jī)圖形學(xué)中,字符可以用不同的方式表達(dá)和生成。常用的方法有點(diǎn)陣式、矢量式和編碼式。
            1.點(diǎn)陣式字符

            在點(diǎn)陣式字符庫中,每個字符都定義成一個稱為掩膜的矩陣。矩陣中的元素都是一位二進(jìn)制數(shù),當(dāng)該位為1時,表示字符的筆劃經(jīng)過此位,對應(yīng)于此位的象素應(yīng)置為字符顏色;當(dāng)該位為0時,表示字符的筆劃不經(jīng)過此位,對應(yīng)于此位的象素應(yīng)置為背景色或不改變。
            點(diǎn)陣式字符

            4.輪廓字型技術(shù)
            輪廓字型法采用直線、或者二/ 三次Bezier曲線的集合來描述一個字符的輪廓線。輪廓線構(gòu)成一個或若干個封閉的平面區(qū)域。輪廓線定義加上一些指示橫寬、豎寬、基點(diǎn)、基線等的控制信 息,就構(gòu)成了字符的壓縮數(shù)據(jù)。這種控制信息用于保證字符變倍時引起的字符筆劃原來的橫寬/豎寬變大變小時,其寬度在任何點(diǎn)陣情況下永遠(yuǎn)一致。采用適當(dāng)?shù)膮^(qū) 域填充算法,可以從字符的輪廓線定義產(chǎn)生的字符位圖點(diǎn)陣,區(qū)域填充算法可以用硬件實(shí)現(xiàn),也可以用軟件實(shí)現(xiàn)。
            當(dāng)對輸出字符的要求較高時(如排版印 刷),需要使用高質(zhì)量的點(diǎn)陣字符。對于GB2312-80所規(guī)定的6763個基本漢字,假設(shè)每個漢字是72X72點(diǎn)陣,那么一個字庫就需要 72X72X6763/8=4.4兆字節(jié)存儲空間;不但如此,在實(shí)際使用時,還需要多種字體(如基本體、宋體、仿宋體、黑體、楷體等),每種字體又需要多 種字號。可見,直接使用點(diǎn)陣字符方法將耗費(fèi)巨大的存儲空間。因此把每種字體、字號的字符都存儲一個對應(yīng)的點(diǎn)陣,在一般情況是不可行的。

             

              解 決這個問題一般采用壓縮技術(shù)。對字型數(shù)據(jù)壓縮后再存儲,使用時,將壓縮的數(shù)據(jù)還原為字符位圖點(diǎn)陣。壓縮方法有多種,最簡單的有黑白段壓縮法,這種方法簡 單,還原快,不失真,但壓縮較差,使用起來也不方便,一般用于低級的文字處理系統(tǒng)中。另一種方法是部件壓縮法。這種方法壓縮比大,缺點(diǎn)是字型質(zhì)量不能保 證。三是輪廓字型法,這種方法壓縮比大,且能保證字符質(zhì)量,是當(dāng)今國際上最流行的一種方法,基本上也被認(rèn)為是符合工業(yè)標(biāo)準(zhǔn)化的方法。

              輪 廓字型法采用直線、或者二/三次Bezier曲線的集合來描述一個字符的輪廓線。輪廓線構(gòu)成一個或若干個封閉的平面區(qū)域。輪廓線定義加上一些指示橫寬、豎 寬、基點(diǎn)、基線等的控制信息,就構(gòu)成了字符的壓縮數(shù)據(jù)。這種控制信息用于保證字符變倍時引起的字符筆劃原來的橫寬/豎寬變大變小時,其寬度在任何點(diǎn)陣情況 下永遠(yuǎn)一致。采用適當(dāng)?shù)膮^(qū)域填充算法,可以從字符的輪廓線定義產(chǎn)生的字符位圖點(diǎn)陣,區(qū)域填充算法可以用硬件實(shí)現(xiàn),也可以用軟件實(shí)現(xiàn)。

            由美國 Apple和Microsoft公司聯(lián)合開發(fā)的TrueType字型技術(shù)就是一種輪廓字型技術(shù),已被用于為Windows中文版生成漢字字庫。當(dāng)前占領(lǐng)主 要的電子印刷市場的我國北大方正和華光電子印刷系統(tǒng),用的字型技術(shù)是漢字字型輪廓矢量法。這種方法能夠準(zhǔn)確地把字符的信息描述下來,保證了還原的字符質(zhì) 量,又對字型數(shù)據(jù)進(jìn)行了大量的壓縮。調(diào)用字符時,可以任意地放大、縮小或進(jìn)行花樣變化,基本上能滿足電子印刷中字型質(zhì)量的要求。輪廓字型技術(shù)有著廣泛的應(yīng) 用。到目前為止在印刷行業(yè)中使用最多,隨著Ms-Windows的大量使用,在CAD、圖形學(xué)等領(lǐng)域也將變得越來越重要。


             

            點(diǎn)陣式字符將字符表示為一個矩形點(diǎn)陣,由點(diǎn)陣中點(diǎn)的不同值表達(dá)字符的形狀。常用的點(diǎn)陣大小有5x7、7x9、8x8、16x16等等。圖2.4.1(a)所示的字母“P”的點(diǎn)陣式表示例子。在這種8? 8網(wǎng)格中的字形比較粗糙,但當(dāng)點(diǎn)陣變大時,字型可以做得非常漂亮。

            使用點(diǎn)陣式字符時,需將字庫中的矩形點(diǎn)陣拷貝到buffer中指定的單元中去。在拷貝過程中,可以施加變換,以獲得簡單的變化。圖2.4.1(b)~(d)列出了P字母原型的一些變化例子。相應(yīng)的變換算法是:

                                    (a)          (b)            (c)         (d)

            2_4_1.gif (3270 bytes)

            圖2.4.1 點(diǎn)陣式字符及其變化

            圖(b)變成粗體字。算法是:當(dāng)字符原型中每個象素被寫入幀緩存寄存器的指定位置xi, yi時,同時被寫入xi+1, yi

            圖(c)旋轉(zhuǎn)90? 。算法是:把字符原型中每個象素的x, y坐標(biāo)彼此交換,并使y值改變符號后,再寫入幀緩存寄存器的指定位置。

            圖(d)斜體字。算法是:從底到頂逐行拷貝字符,每隔n行,左移一單元。

            此外,還可以對點(diǎn)陣式字符作比例縮放等其他一些簡單的變換。但是對點(diǎn)陣式字符作任意角度的旋轉(zhuǎn)等變換,是比較困難的操作。

            由于光柵掃描顯示器的普遍使用,點(diǎn)陣式字符表示已經(jīng)成為一種字符表示的主要形式。從字庫中讀出原字型,經(jīng)過變換拷貝到buffer中去的操作,經(jīng)常制成專門的硬件來完成。這就大大加快了字符生成的速度。
            2.矢量式字符
            在筆式繪圖儀上采用矢量型字符比較合適,矢量型字符采用矢量代碼序列表示字符的各個筆劃。輸出一個字符時,系統(tǒng)中字符處理器解釋該字符的每個矢量代碼,輸出對應(yīng)的矢量,達(dá)到產(chǎn)生字符的目的。
            矢量式字符

            矢量式字符將字符表達(dá)為一個點(diǎn)坐標(biāo)的序列,相鄰兩點(diǎn)表示一條矢量,字符的形狀便由矢量序列刻劃。圖2.4.2示出用矢量式表示的字符“B”。“B”是由頂點(diǎn)序列{a, b, c, d, e, f, e, g, h, I, j, k ,a, l}的坐標(biāo)表達(dá)。

            調(diào)用矢量式字符的過程相當(dāng)于輸出一個polyline。由于矢量式字符具有和圖形相一致的數(shù)據(jù)結(jié)構(gòu),因而可以接受任何對于圖形的操作,如放大、旋轉(zhuǎn),甚至透視。而且,矢量式字符不僅可用于顯示,也可用于繪圖機(jī)輸出。

            2_4_2.gif (2201 bytes)

            圖2.4.2 矢量式表示字符“B”
            3.方向編碼式字符
            方向編碼式字符用有限的若干種方向編碼來表達(dá)一個字符,常用的如8方向編碼。方向編碼既可用于字符的顯示,也可用于字符的繪圖機(jī)輸出。

            方向編碼式字符用有限的若干種方向編碼來表達(dá)一個字符,常用的如8方向編碼。圖2.4.3示出8個方向的編碼為0~7,其中編碼為偶數(shù)和0的固定長度為1,編碼為奇數(shù)的固定長度為。 一個字符就可以表示為一連串方向碼。圖2.4.4(a)示出字母“B”的方向矢量構(gòu)成。這樣,“B”就表示為8方向編碼: {000012344400012344440666666}。方向編碼式字符很容易被填入幀緩存寄存器中予以顯示(圖2.4.4(b)),方向編碼所占 的空間比較小,它也能接受一些特定的變換操作,如按比例在x和y兩個方向放大或縮小以及以45? 角為單位的旋轉(zhuǎn),但難以進(jìn)行任意角度的旋轉(zhuǎn)。

                        2_4_3.gif (2633 bytes)            2_4_4.gif (2715 bytes)

                                                                                    方向編碼既可用于字符的顯示,也可用于字符的繪圖機(jī)輸出。

            posted on 2006-02-24 22:40 笑笑生 閱讀(417) 評論(0)  編輯 收藏 引用

            只有注冊用戶登錄后才能發(fā)表評論。
            網(wǎng)站導(dǎo)航: 博客園   IT新聞   BlogJava   博問   Chat2DB   管理


             
            Copyright © 笑笑生 Powered by: 博客園 模板提供:滬江博客
            久久一区二区免费播放| 久久亚洲欧美日本精品| 久久久久综合国产欧美一区二区| 91精品国产91久久久久久蜜臀| 久久亚洲春色中文字幕久久久 | 午夜精品久久久久久99热| 欧美伊人久久大香线蕉综合| 日产久久强奸免费的看| 国产亚洲精品久久久久秋霞 | 97精品久久天干天天天按摩 | 久久久久人妻一区二区三区vr| 久久夜色精品国产网站| 青青草国产精品久久| 久久99热这里只有精品国产| 漂亮人妻被黑人久久精品| 99久久精品免费看国产一区二区三区 | 性做久久久久久免费观看| 午夜欧美精品久久久久久久| 91精品国产高清久久久久久91| 久久久这里只有精品加勒比| 国产麻豆精品久久一二三| 久久亚洲精品国产亚洲老地址| 秋霞久久国产精品电影院| 人人狠狠综合88综合久久| 亚洲国产二区三区久久| 色综合久久综合中文综合网| 伊人伊成久久人综合网777| 久久精品一区二区三区中文字幕 | 亚洲国产天堂久久综合网站 | 久久久精品2019免费观看| 亚洲精品乱码久久久久久蜜桃| 久久亚洲天堂| 久久精品夜色噜噜亚洲A∨| 久久人人爽爽爽人久久久| 久久久精品国产sm调教网站 | 久久亚洲精品无码aⅴ大香| 久久精品国产清高在天天线| 久久国产午夜精品一区二区三区| 久久久久亚洲AV片无码下载蜜桃| 色综合久久精品中文字幕首页| 一本久久久久久久|