專利名稱:圖形打印輸出方法
技術(shù)領(lǐng)域:
本發(fā)明涉及一種圖形打印輸出的方法,尤其涉及一種通過坐標重組,以達到加速打印輸出圖形的方法。
背景技術(shù):
隨著信息科技的不斷發(fā)展,目前臺灣地區(qū)的計算機化程度已經(jīng)達到相當程度的水準,因此帶動網(wǎng)際網(wǎng)絡(luò)的普及程度也愈來愈高,消費者對于計算機周邊的需求殷切。雖然計算機周邊產(chǎn)業(yè)的產(chǎn)品生命周期日益縮短,但是輸出端的打印機產(chǎn)品,其重要性無可替代,且打印機市場競爭激烈,往后幾年的市場發(fā)展與產(chǎn)品趨勢,備受各方關(guān)切。
而打印速度則是廠商、用戶關(guān)注的焦點之一。技術(shù)的發(fā)展永無止境,在確保打印品質(zhì)的同時,打印速度自然是越快越好。
在一般的打印作業(yè),其輸出的數(shù)據(jù)中,若是有使用到掃描線(scan line)或聚合掃描線(poly scan line)的幾何圖形或文字,通常是執(zhí)行非常多次的水平直線繪制或矩形繪制。
如圖1所示,傳統(tǒng)繪制掃描線的方法,是采取由上而下或是由下而上,一次繪制一條線,且上下線段間必須維持相鄰的關(guān)系。其繪制過程如下假設(shè)此圖形由四組掃描線組合,其坐標分別為第一組(0,0)-(10,0);(20,0)-(30,0);(40,0)-(50,0)第二組(0,1)-(10,1);(20,1)-(30,1);(40,1)-(50,1)第三組(0,2)-(10,2);(20,2)-(30,2);(40,2)-(50,2)第四組(0,3)-(10,3);(20,3)-(30,3);(40,3)-(50,3)命令格式PE=<X1,Y1,(X2-X1),(Y2-Y1);輸出命令PE=<0,0,10,0;PE=<20,0,10,0;PE=<40,0,10,0;
PE=<0,1,10,1;PE=<20,1,10,1;PE=<40,1,10,1;PE=<0,2,10,2;PE=<20,2,10,2;PE=<40,2,10,2;PE=<0,3,10,3;PE=<20,3,10,3;PE=<40,3,10,3;指令長度=4字節(jié)(Bytes);每一組坐標長度=4字節(jié);因此,預估所需指令長度=(4字節(jié)命令+4字節(jié)*2組坐標)*12組命令=144字節(jié)。
如圖2所示,傳統(tǒng)繪制聚合掃描線的方法,同樣是采取由上而下或是由下而上,一次繪制一列矩形,且上下矩形間必須維持相鄰或重疊的關(guān)系。其繪制過程如下假設(shè)此圖形由三組聚合掃描線組合,其坐標分別為第一組{(0,0),(10,0),(10,10),(0,10)},{(40,0),(50,0),(50,10),(40,10)}第二組{(0,10),(20,10),(20,20),(0,20)},{(10,10),(20,10),(20,20),(10,20)},{(30,10),(40,10),(40,20),(30,20)},{(40,10),(50,10),(50,20),(40,20)}第三組{(0,20),(10,20),(10,30),(0,30)},{(40,20),(50,20),(50,30),(4,30)}命令格式PE=<X1,Y1,(X2-X1),(Y2-Y1),.....(Xn-Xn-1,Yn-Yn-1),(X1-Xn,Y1-Yn);輸出命令PE=<0,0,10,0,0,10,-10,0,0,-10;PE=<40,0,10,0,0,10,-10,0,0,-10;PE=<0,10,10,0,0,10,-10,0,0,-10;PE=<10,10,10,0,0,10,-10,0,0,-10;
PE=<30,10,10,0,0,10,-10,0,0,-10;PE=<40,10,10,0,0,10,-10,0,0,-10;PE=<0,10,10,0,0,10,-10,0,0,-10;PE=<40,10,10,0,0,10,-10,0,0,-10;指令長度=4字節(jié)(Bytes);每一組坐標長度=4字節(jié);因此,預估所需指令長度=(4字節(jié)命令+4字節(jié)*5組坐標)*8組命令=192字節(jié)。
前述現(xiàn)有的繪制掃描線與聚合掃描線的方法,需要輸出大量的指令與坐標,當這些大量的數(shù)據(jù)送至打印機去處理時,所需執(zhí)行的動作也愈久,甚至有圖形會有重復繪制的現(xiàn)象,因此導致打印的速度變慢。
發(fā)明內(nèi)容
本發(fā)明所要解決的技術(shù)問題在于提供一種圖形打印輸出方法,通過掃描線或聚合掃描線的坐標的重新計算與組合,以減少輸出指令與坐標數(shù)量來達到加速處理掃描線與聚合掃描線的目的,從而提高打印機的打印速度。
為了實現(xiàn)上述目的,本發(fā)明提供了一種圖形打印輸出方法,包含下列步驟收集一圖形的多個原始坐標租;重組所述原始坐標組為多個新坐標組;及輸出所述新坐標組,以完成該圖形的打?。黄渲?,該重組所述原始坐標組的步驟,是在上下相鄰的所述原始坐標組中,舍棄同一直線上的中間坐標。
上述的圖形輸出方法,其中所述原始坐標組包含多個掃描線與多個聚合掃描線的坐標組。
上述的圖形輸出方法,其中收集該圖形的所述原始坐標組的步驟,還包含下列步驟接收所述原始坐標組;及儲存所述原始坐標組至多個緩沖區(qū)內(nèi);其中,當所述原始坐標組為最后一組時,則執(zhí)行重組所述原始坐標組的步驟,反之則繼續(xù)輸入并檢查其它坐標組。
上述的圖形輸出方法,其中儲存所述原始坐標組至所述緩沖區(qū)內(nèi)的步驟,包含將相鄰的多個線段坐標組存入相同緩沖區(qū)內(nèi)。
上述的圖形輸出方法,其中儲存所述原始坐標組至所述緩沖區(qū)內(nèi)的步驟,包含將相鄰的多個聚合掃描線的多個線段坐標組存入相同緩沖區(qū)內(nèi)。
上述的圖形輸出方法,其中重組所述原始坐標組為所述新坐標組的步驟,還包含儲存所述新坐標組至多個緩沖區(qū)的步驟。
上述的圖形輸出方法,其中輸出所述新坐標組以打印該圖形的步驟,還包含輸出所述新坐標組及其與其下一個新坐標組的位移量的步驟。
上述的圖形輸出方法,其中輸出所述新坐標組,以完成該圖形的打印的步驟,還包含設(shè)定一輸出模式的步驟。
上述的圖形輸出方法,其中該輸出模式包含畫筆的類型與顏色。
以下結(jié)合附圖和具體實施例對本發(fā)明進行詳細描述,但不作為對本發(fā)明的限定。
圖1為現(xiàn)有技術(shù)的掃描線繪制的示意圖;圖2為現(xiàn)有技術(shù)的聚合掃描線繪制的示意圖;圖3為本發(fā)明的圖形打印輸出方法的流程圖;圖4為本發(fā)明的收集掃描線坐標組的步驟的流程圖;圖5為本發(fā)明的收集聚合掃描線坐標組的步驟的流程圖;圖6為本發(fā)明的重組輸入的坐標組的步驟的流程圖;圖7為本發(fā)明的輸出重組的坐標組的步驟的流程圖;圖8為本發(fā)明的掃描線繪制的示意圖;及圖9為本發(fā)明的聚合掃描線繪制的示意圖。
具體實施例方式
如圖3所示,本發(fā)明所提供的圖形打印輸出方法,其主要流程包含下列步驟首先,步驟100,收集圖形的原始坐標組,這些原始坐標組包含掃描線或聚合掃描線的坐標組;
然后,步驟200,重組原始坐標組為新坐標組,將緩沖區(qū)(buffer)內(nèi)的原始坐標組重新計算與組合;最后,步驟300,設(shè)定輸出模式,輸出新坐標組以完成圖形打印。
以下詳細說明本發(fā)明如何通過坐標重組以打印輸出圖形。
1、步驟100,收集圖形的原始坐標組接收掃描線或聚合掃描線的坐標,將其分別儲存于預設(shè)的緩沖區(qū)(buffer),判斷是否為最后一組掃描線或聚合掃描線的坐標,若是則執(zhí)行下一步驟,若否則再次接收其它坐標。以下說明收集掃描線與聚合掃描線坐標的詳細步驟。
(1)收集掃描線坐標請參照圖4,假設(shè)共有N條掃描線,N條掃描線的線段各具有一起點坐標與一終點坐標,因此N條掃描線共有2N個坐標,令第i條掃描線的線段坐標組可表示為(Xi,Yi)-(Xi+1,Yi+1),且i=1~N。
首先,接收2N個坐標(步驟111),然后,將接收的坐標分別存入緩沖區(qū)中。接著,檢查是否存在緩沖區(qū)(步驟121);其中,當已存在緩沖區(qū)時,則檢查線段坐標組(Xi,Yi)-(Xi+1,Yi+1)是否與哪個緩沖區(qū)中的線段坐標組相鄰(步驟131),若結(jié)果為是,則將此線段坐標組(Xi,Yi)-(Xi+1,Yi+1)存入所選的緩沖區(qū),并將此緩沖區(qū)的計數(shù)器加一(步驟141);若線段坐標組(Xi,Yi)-(Xi+1,Yi+1)未與緩沖區(qū)中的線段坐標組相鄰,或緩沖區(qū)不存在,則新增一緩沖區(qū),并將此緩沖區(qū)的總數(shù)加一(步驟151),然后,將此線段坐標組(Xi,Yi)-(Xi+1,Yi+1)存入新增的緩沖區(qū),并將此緩沖區(qū)的計數(shù)器加一(步驟161);隨后,陸續(xù)執(zhí)行其它掃描線的坐標的接收(步驟171)。
(2)收集聚合掃描線坐標請參照圖5,假設(shè)共有N/2個聚合掃描線,N/2個聚合掃描線各包含二條掃描線的線段,因此共有N條掃描線,共有2N個坐標,令第i個聚合掃描線的二線段坐標組可表示為(Xi,Yi)-(Xi+1,Yi)與(Xi,Yi+1)-(Xi+1,Yi+1),且i=1~N/2。
首先,接收2N個坐標(步驟112),然后,將接收的坐標分別存入緩沖區(qū)中。接著,檢查是否存在緩沖區(qū)(步驟122);其中,當已存在緩沖區(qū)時,則檢查線段坐標組(Xi,Yi)-(Xi+1,Yi)與(Xi,Yi+1)-(Xi+1,Yi+1)的X坐標是否介于緩沖區(qū)中線段坐標組的起點到終點之間(步驟132),若結(jié)果為是,則將此線段坐標組(Xi,Yi)-(Xi+1,Yi)與(Xi,Yi+1)-(Xi+1,Yi+1)存入所選的緩沖區(qū),并將此緩沖區(qū)的計數(shù)器加二(步驟112);若線段坐標組(Xi,Yi)-(Xi+1,Yi)與(Xi,Yi+1)-(Xi+1,Yi+1)的X坐標未介于緩沖區(qū)中線段坐標組的起點到終點之間,或緩沖區(qū)不存在,則新增一緩沖區(qū),并將此緩沖區(qū)的總數(shù)加一(步驟152),然后,將線段坐標組(Xi,Yi)-(Xi+1,Yi)與(Xi,Yi+1)-(Xi+1,Yi+1)存入新增的緩沖區(qū),并將此緩沖區(qū)的計數(shù)器加二(步驟162)。隨后,陸續(xù)執(zhí)行其它聚合掃描線的坐標的接收(步驟172)。
2、步驟200,重組原始坐標組為新坐標組分別在上下相鄰的掃描線與上下相鄰的聚合掃描線中,根據(jù)直線與斜率的關(guān)系,將同一直線上的中間坐標舍去。
請參照圖6,假設(shè)有N個緩沖區(qū),令緩沖區(qū)[I]表示第I個緩沖區(qū),其中I=1~N,緩沖區(qū)[I]包含K個坐標(K/2條線段)。
首先,收集N個緩沖區(qū)的坐標(步驟210),然后,檢查緩沖區(qū)[I]的計數(shù)器K是否為零(步驟220),若結(jié)果為是,則繼續(xù)檢查下一個緩沖區(qū)(步驟280)若結(jié)果為否,則從緩沖區(qū)[I]內(nèi)取出第J條線段(令J=3~K/2),分別檢查第J-1、第J-2與第J條線段的起點坐標與其終點坐標,是否在一直線上(步驟230、步驟240),然后將三點在一直線上的中間線段(第J-1條線段)的起點坐標或終點坐標刪除(步驟250、步驟260)。的后,將緩沖區(qū)[I]的所有線段的坐標重組完畢(步驟270),再繼續(xù)執(zhí)行其它緩沖區(qū)的線段的坐標的重組(步驟280)。
3、步驟300,輸出重組坐標組,以完成圖形打印將重組后的坐標依據(jù)所需的編碼方式編碼并輸出,以打印圖形。
請參照圖7,假設(shè)有N個緩沖區(qū),令緩沖區(qū)[I]表示第I個緩沖區(qū),其中I=1~N,緩沖區(qū)[I]包含K個坐標。
首先,設(shè)定掃描線或聚合掃描線所要使用的畫筆的類型與顏色(步驟310),然后,檢查緩沖區(qū)[I]的計數(shù)器K是否為零(步驟320),若結(jié)果為是,則繼續(xù)檢查下一個緩沖區(qū)(步驟370)若結(jié)果為否,則接著檢查計數(shù)器K是否大于2(步驟330),以進行緩沖區(qū)[I]的坐標輸出。其中,當計數(shù)器K=1或2時,則輸出第1條線段的線段坐標組(X1,Y1)-(X2,Y2)(步驟340);當計數(shù)器K>2,且J=4~K時,輸出第J個坐標及其與第J-1個坐標的位移量,并執(zhí)行其它坐標及其與下一個坐標的位移量的輸出;然后,當計數(shù)器K>2,且J=K-1~3時,輸出第J個坐標及其與第J-1個坐標的位移量(步驟350),并執(zhí)行其它坐標及其與下一個坐標的位移量的輸出(步驟360)。接著,將其它緩沖區(qū)的坐標輸出完畢(步驟370),最后,依照圖形輸出模式輸出(步驟380),以打印圖形。
在以下的例子,使用本發(fā)明的圖形打印輸出方法將掃描線與聚合掃描線的幾何圖形坐標重新計算與組合,并將所需指令長度與現(xiàn)有技術(shù)的所需指令長度作一比較。
1、掃描線的繪制以現(xiàn)有技術(shù)的圖1為例,本發(fā)明的方法將上下相鄰的三條線,分別將三條線的起點與終點根據(jù)直線與斜率的關(guān)系,若是三點在同一直線上,舍棄中間的那一點,依據(jù)上述的處理原則,本方法轉(zhuǎn)換結(jié)果如圖8所示。其繪制過程如下命令格式PE=<X1,Y1,(X2-X1),(Y2-Y1),.....(Xn-Xn-1,Yn-Yn-1),(X1-Xn,Y1-Yn);輸出命令PE=<0,0,10,0,0,3,-10,0,-3,0;PE=<20,0,10,0,0,3,-10,0,-3,0;PE=<40,0,10,0,0,3,-10,0,-3,0;命令(command)長度=4字節(jié)(bytes);每一組坐標長度=4字節(jié);預估所需指令長度=(4字節(jié)命令+4字節(jié)*5組坐標)*3組命令=72字節(jié)。因此,在掃描線的打印輸出上,本方法所需指令長度(72字節(jié))小于現(xiàn)有技術(shù)的所需指令長度(144字節(jié))。
2、聚合掃描線的繪制以圖2為例,本發(fā)明的方法將上下相鄰的兩個矩形,依據(jù)直線與斜率的關(guān)系,若是三點在同一直線上,舍棄中間那一點,依據(jù)上述的處理原則,本方法轉(zhuǎn)換結(jié)果如圖9所示。其繪制過程如下。
命令格式PE=<X1,Y1,(X2-X1),(Y2-Y1),.....(Xn-Xn-1,Yn-Yn-1),(X1-Xn,Y1-Yn);輸出命令PE=<0,0,10,0,0,10,10,0,0,10,-10,0,0,10,-10,0,0,-30;PE=<40,0,10,0,30,-10,0,0,-10,-10,0,0,-10,10,0,0,-10;
命令長度=4字節(jié);每一組坐標長度=4字節(jié);預估所需指令長度=(4字節(jié)命令+4字節(jié)*9組坐標)*2組命令=80字節(jié)。
因此,在聚合掃描線的打印輸出上,本方法所需指令長度(80字節(jié))小于現(xiàn)有技術(shù)的所需指令長度(192字節(jié))。
與現(xiàn)有技術(shù)相比,使用本方法于掃描線與聚合掃描線的打印輸出上,可以達到精簡輸出指令與坐標數(shù)量的效果。
此外,本發(fā)明還分別使用現(xiàn)有技術(shù)與本方法將圖形的檔案數(shù)據(jù)輸出打印,并提供一些測試數(shù)據(jù)。
本發(fā)明的測試系統(tǒng)系采用256MB SDRAM的Pentium4-1.5GHz個人計算機,且操作系統(tǒng)為Windows 98(英文版)、測試打印機為HP 4600、測試程序為Adobe Acrobat 5.0.5+日文字型、及測試檔案為IRC3200.pdf(24頁)。
首先,將輸出接口轉(zhuǎn)成檔案,利用測試程序輸出測試檔案,并存盤紀錄檔案大小。然后,將輸出接口轉(zhuǎn)成網(wǎng)絡(luò)地址(TCP/IP),利用測試程序輸出測試檔案,紀錄所需打印時間。
最后得到以下試驗結(jié)果現(xiàn)有技術(shù)的方法產(chǎn)生的數(shù)據(jù)大?。?8,789K字節(jié)本方法產(chǎn)生的數(shù)據(jù)大?。?0,012K字節(jié)現(xiàn)有技術(shù)的方法打印所需時間=460.47秒本方法打印所需時間=256.07秒因此,在圖形的檔案數(shù)據(jù)的輸出打印上,使用本方法可以減少約22%的數(shù)據(jù),并減少約44%的打印時間。
與現(xiàn)有技術(shù)相比,使用本方法在圖形的檔案數(shù)據(jù)的打印輸出上,可以達到減少輸出數(shù)據(jù)、加快打印速度的效果。
綜合上述,本發(fā)明提供一種圖形輸出打印的方法,通過掃描線或聚合掃描線坐標的重新計算與組合,使其轉(zhuǎn)變成多邊形的幾何圖形架構(gòu)。此外,透過繪制過程的指令長度計算與圖形數(shù)據(jù)文件的輸出打印結(jié)果,本發(fā)明與現(xiàn)有技術(shù)比較,將可精簡使用指令與減少出數(shù)據(jù),而達到加快打印速度的目的。當然,由掃描線與聚合掃描線組成的幾何圖形或文字,都可通過本發(fā)明的方法而達到相同的輸出結(jié)果。
當然,本發(fā)明還可有其它多種實施例,在不背離本發(fā)明精神及其實質(zhì)的情況下,熟悉本領(lǐng)域的技術(shù)人員當可根據(jù)本發(fā)明作出各種相應(yīng)的改變和變形,但這些相應(yīng)的改變和變形都應(yīng)屬于本發(fā)明所附的權(quán)利要求的保護范圍。
權(quán)利要求
1.一種圖形打印輸出方法,其特征在于,包含下列步驟收集一圖形的多個原始坐標租;重組所述原始坐標組為多個新坐標組;及輸出所述新坐標組,以完成該圖形的打??;其中,該重組所述原始坐標組的步驟,是在上下相鄰的所述原始坐標組中,舍棄同一直線上的中間坐標。
2.根據(jù)權(quán)利要求1所述的圖形輸出方法,其特征在于,所述原始坐標組包含多個掃描線與多個聚合掃描線的坐標組。
3.根據(jù)權(quán)利要求1所述的圖形輸出方法,其特征在于,收集該圖形的所述原始坐標組的步驟,還包含下列步驟接收所述原始坐標組;及儲存所述原始坐標組至多個緩沖區(qū)內(nèi);其中,當所述原始坐標組為最后一組時,則執(zhí)行重組所述原始坐標組的步驟,反之則繼續(xù)輸入并檢查其它坐標組。
4.根據(jù)權(quán)利要求3所述的圖形輸出方法,其特征在于,儲存所述原始坐標組至所述緩沖區(qū)內(nèi)的步驟,包含將相鄰的多個線段坐標組存入相同緩沖區(qū)內(nèi)。
5.根據(jù)權(quán)利要求3所述的圖形輸出方法,其特征在于,儲存所述原始坐標組至所述緩沖區(qū)內(nèi)的步驟,包含將相鄰的多個聚合掃描線的多個線段坐標組存入相同緩沖區(qū)內(nèi)。
6.根據(jù)權(quán)利要求1所述的圖形輸出方法,其特征在于,重組所述原始坐標組為所述新坐標組的步驟,還包含儲存所述新坐標組至多個緩沖區(qū)的步驟。
7.根據(jù)權(quán)利要求1所述的圖形輸出方法,其特征在于,輸出所述新坐標組以打印該圖形的步驟,還包含輸出所述新坐標組及其與其下一個新坐標組的位移量的步驟。
8.根據(jù)權(quán)利要求1所述的圖形輸出方法,其特征在于,輸出所述新坐標組,以完成該圖形的打印的步驟,還包含設(shè)定一輸出模式的步驟。
9.根據(jù)權(quán)利要求1所述的圖形輸出方法,其特征在于,該輸出模式包含畫筆的類型與顏色。
全文摘要
本發(fā)明涉及一種圖形打印輸出方法,通過掃描線或聚合掃描線坐標的重新計算與組合,使其轉(zhuǎn)變成為多邊形的幾何圖案架構(gòu),而達到減少輸出數(shù)據(jù)與精簡使用指令,借以提高打印機的打印速度。
文檔編號B41L39/00GK1669815SQ20041000890
公開日2005年9月21日 申請日期2004年3月15日 優(yōu)先權(quán)日2004年3月15日
發(fā)明者葉玉麟, 溫富錦 申請人:德鑫科技股份有限公司