專(zhuān)利名稱(chēng):一種用于手工拼版防重疊的自動(dòng)定位方法和裝置的制作方法
技術(shù)領(lǐng)域:
本發(fā)明屬于計(jì)算機(jī)排版技術(shù)中的手工拼版領(lǐng)域,具體涉及一種用于手工拼版防重疊的自動(dòng)定位方法和裝置。
背景技術(shù):
在計(jì)算機(jī)排版技術(shù)領(lǐng)域中,拼版的目的是為了充分利用介質(zhì)(如膠片,CTP等介質(zhì)),以達(dá)到減少生產(chǎn)成本和提高生產(chǎn)效率的目的。目前,自動(dòng)拼版很好地解決了節(jié)約介質(zhì)并且夠快捷方便的進(jìn)行輸出,自動(dòng)化程度高,不需要太多人工干預(yù)。但是這種自動(dòng)拼版方法仍然存在一定的缺陷,在對(duì)某些圖元進(jìn)行拼版時(shí),會(huì)造成輸出介質(zhì)的浪費(fèi)。比如,按圖元作業(yè)順序排版時(shí),當(dāng)下一個(gè)作業(yè)不能在當(dāng)前頁(yè)面放置時(shí),這需要重新開(kāi)辟一個(gè)新的頁(yè)面,導(dǎo)致上一頁(yè)面有太多浪費(fèi)。手工拼版則能很好解決這個(gè)問(wèn)題,不但可以節(jié)約介質(zhì),而且還可以根據(jù)需要任意組合所有圖元。因而,手工拼版是對(duì)自動(dòng)拼版的有利補(bǔ)充。
圖像光柵化處理(Rip,Raster Image Processor)后的點(diǎn)陣進(jìn)行拼版的主要目的是節(jié)約耗材,忠實(shí)地輸出頁(yè)面點(diǎn)陣,這就要求所有的小頁(yè)Rip后的頁(yè)面點(diǎn)陣不能發(fā)生重疊。常見(jiàn)方法是在輸出端增加檢測(cè)大版中的小頁(yè)之間是否發(fā)生重疊的步驟。當(dāng)有重疊時(shí)給用戶(hù)提示出錯(cuò)信息,不允許用戶(hù)輸出當(dāng)前頁(yè)面,然后用戶(hù)必須返回到拼版狀態(tài),重新調(diào)整小頁(yè)之間的位置關(guān)系,確保小頁(yè)之間不會(huì)再產(chǎn)生重疊;而在調(diào)整的過(guò)程中,當(dāng)重疊發(fā)生時(shí),系統(tǒng)會(huì)自動(dòng)將小頁(yè)放回拖動(dòng)前的位置。為了靠近減少調(diào)整次數(shù),用戶(hù)需要將大版界面放大到足夠大的倍數(shù),然后再仔細(xì)手動(dòng)定位小頁(yè)的具體位置,如此一來(lái),無(wú)形中增加了用戶(hù)的工作量。為了解決小頁(yè)的重新精確定位問(wèn)題,另外一種方法是通過(guò)定位標(biāo)尺測(cè)量。具體的步驟是先通過(guò)大版頁(yè)面的橫向和縱向標(biāo)尺測(cè)量版面已放置好的小頁(yè)的拼接點(diǎn)的坐標(biāo)0(x,y),然后將需要拖動(dòng)的小頁(yè)的相應(yīng)拼接點(diǎn)的坐標(biāo)位置設(shè)為0(x,y),通過(guò)小頁(yè)在版面中的平移達(dá)到精確定位的目的。但是這種方法必須人為保證空白區(qū)域能夠放置下當(dāng)前小頁(yè),操作過(guò)程也比較繁瑣,過(guò)多需要用戶(hù)干預(yù)。調(diào)整當(dāng)前小頁(yè)后,為了瀏覽版面的整體效果,還必須通過(guò)縮小大版的預(yù)顯界面。如果多個(gè)小頁(yè)發(fā)生重疊放置時(shí),需要重復(fù)上述過(guò)程依次調(diào)整每個(gè)小頁(yè)的相對(duì)位置,拼版的效率會(huì)變得異常低下,并且隨著版面中小頁(yè)個(gè)數(shù)的增多,手動(dòng)調(diào)整地難度相應(yīng)增大。
發(fā)明內(nèi)容
針對(duì)現(xiàn)有技術(shù)中存在的上述問(wèn)題,本發(fā)明的目的是提供一種運(yùn)算簡(jiǎn)單、運(yùn)行效率高的手動(dòng)拼版防重疊自動(dòng)定位方法和裝置,拼版過(guò)程中當(dāng)拖動(dòng)圖元和大版中其他圖元發(fā)生重疊時(shí),該方法能夠進(jìn)行自動(dòng)定位,而且能夠降低手工拼版的復(fù)雜度,并在大版預(yù)顯界面上能夠無(wú)覺(jué)察的自動(dòng)定位圖元到用戶(hù)希望的位置。
為達(dá)到以上目的,本發(fā)明采用的技術(shù)方案是一種用于手工拼版防重疊的自動(dòng)定位方法,包括以下步驟(1)記錄移動(dòng)圖元對(duì)象在版面中的當(dāng)前位置,根據(jù)該移動(dòng)圖元對(duì)象相對(duì)版面中其他所有固定圖元對(duì)象之間的位置關(guān)系計(jì)算所有固定圖元對(duì)象的權(quán)重;(2)若所有固定圖元對(duì)象的權(quán)重為零,則將移動(dòng)圖元對(duì)象放置在當(dāng)前位置,此手動(dòng)拼版過(guò)程結(jié)束,否則執(zhí)行步驟(3);若所有固定圖元對(duì)象的權(quán)重為無(wú)窮大,則將移動(dòng)圖元對(duì)象放置在原始位置,否則執(zhí)行步驟(3);(3)在權(quán)重大于零且非為無(wú)窮大的固定圖元對(duì)象集合中選擇權(quán)重最小的對(duì)象,并根據(jù)所述固定圖元對(duì)象的邊與移動(dòng)圖元對(duì)象位置關(guān)系移動(dòng)移動(dòng)圖元對(duì)象;(4)根據(jù)步驟(3)中計(jì)算得到的位置調(diào)整移動(dòng)圖元對(duì)象,并對(duì)移動(dòng)后的移動(dòng)圖元對(duì)象重復(fù)執(zhí)行上述各步驟,此時(shí)如果遍歷完所有的固定圖元對(duì)象仍不能找到合適的位置,則將移動(dòng)圖元對(duì)象放置到拖放前的原始位置。
進(jìn)一步,步驟(1)中,移動(dòng)圖元對(duì)象與固定圖元對(duì)象之間的位置關(guān)系權(quán)重∏是按如下方法計(jì)算的∏=∑+Len2。
其中,∑表示移動(dòng)圖元對(duì)象與固定圖元對(duì)象重疊部分的面積大小,Len表示移動(dòng)圖元對(duì)象與固定圖元對(duì)象重心位置之間的距離。
進(jìn)一步,步驟(1)中,移動(dòng)圖元對(duì)象與固定圖元對(duì)象之間的位置關(guān)系權(quán)重∏是按如下方法計(jì)算的∏=Len2+Len12+Len22。
所述Len表示移動(dòng)圖元對(duì)象與固定圖元對(duì)象重心位置之間的距離,所述Len1表示移動(dòng)圖元對(duì)象的上邊界到固定圖元對(duì)象上邊界的距離,所述Len2表示移動(dòng)圖元對(duì)象的左邊界到固定圖元對(duì)象左邊界的距離。
更進(jìn)一步,步驟(3)中,根據(jù)所述固定圖元對(duì)象的邊與移動(dòng)圖元對(duì)象位置關(guān)系移動(dòng)移動(dòng)圖元對(duì)象包括根據(jù)移動(dòng)圖元對(duì)象外接矩形和所述權(quán)重最小的固定圖元外接矩形相交的矩形區(qū),比較所述相交矩形水平和垂直方向邊長(zhǎng)的長(zhǎng)度,并且將移動(dòng)圖元對(duì)象按邊長(zhǎng)較小的邊進(jìn)行移動(dòng),移動(dòng)距離即為較小邊長(zhǎng)的長(zhǎng)度,并按水平或垂直方向移動(dòng)移動(dòng)圖元對(duì)象至權(quán)重最小的固定圖元對(duì)象相切的位置。
更進(jìn)一步,所述步驟(2)中所有固定圖元對(duì)象的權(quán)重為零,是指移動(dòng)圖元對(duì)象與所有固定圖元對(duì)象的外接矩形框之間沒(méi)有交集。
更進(jìn)一步,所述步驟(3)中固定圖元對(duì)象的權(quán)重為無(wú)窮大,是指移動(dòng)圖元對(duì)象的重心落在固定圖元對(duì)象的外接矩形的內(nèi)部或固定圖元對(duì)象的重心落在移動(dòng)圖元對(duì)象的外接矩形的內(nèi)部。
本發(fā)明還公開(kāi)了一種用于手工拼版防重疊的自動(dòng)定位裝置,包括以下部分(1)固定圖元對(duì)象權(quán)重計(jì)算裝置用于記錄移動(dòng)圖元對(duì)象在版面中的當(dāng)前位置,并根據(jù)該移動(dòng)圖元對(duì)象相對(duì)版面中其他所有固定圖元對(duì)象之間的位置關(guān)系計(jì)算版面中相應(yīng)固定圖元對(duì)象的權(quán)重;所述固定圖元對(duì)象權(quán)重計(jì)算裝置在移動(dòng)圖元對(duì)象與固定圖元對(duì)象的外接矩形框之間沒(méi)有交集時(shí),計(jì)算出該固定圖元對(duì)象的權(quán)重為零,在移動(dòng)圖元對(duì)象的重心落在固定圖元對(duì)象的外接矩形的內(nèi)部或固定圖元對(duì)象重心落在移動(dòng)圖元對(duì)象內(nèi)部時(shí),計(jì)算出固定圖元對(duì)象的權(quán)重為無(wú)窮大;(2)移動(dòng)圖元對(duì)象位置計(jì)算裝置,用于根據(jù)權(quán)重計(jì)算裝置計(jì)算出來(lái)的權(quán)重計(jì)算移動(dòng)圖元對(duì)象應(yīng)放置的位置所述移動(dòng)圖元對(duì)象位置計(jì)算裝置在所有固定圖元對(duì)象的權(quán)重為零時(shí),直接放置移動(dòng)圖元對(duì)象到當(dāng)前位置,此手動(dòng)拼版過(guò)程結(jié)束;否則所述移動(dòng)圖元對(duì)象位置計(jì)算裝置在所有固定圖元對(duì)象中選擇權(quán)重最小的對(duì)象,并根據(jù)移動(dòng)圖元對(duì)象和該對(duì)象相對(duì)位置關(guān)系,計(jì)算出不發(fā)生重疊時(shí)移動(dòng)圖元對(duì)象所處的位置;(3)移動(dòng)圖元對(duì)象處理裝置,該裝置根據(jù)移動(dòng)圖元對(duì)象位置計(jì)算裝置計(jì)算得到的位置調(diào)整移動(dòng)圖元對(duì)象,并對(duì)移動(dòng)后的圖元對(duì)象重復(fù)執(zhí)行上述各步驟,此時(shí)如果遍歷完所有的固定圖元對(duì)象仍不能找到合適的位置,則移動(dòng)圖元對(duì)象被放置到拖放前的原始位置。
本發(fā)明的效果在于采用本發(fā)明所述的方法和裝置,能夠在拼版過(guò)程中保證不發(fā)生位置重疊的前提下,方便、快捷、準(zhǔn)確地定位移動(dòng)圖元的拼版位置。本發(fā)明之所以具有上述顯著效果,主要在于本發(fā)明所述方法充分考慮圖元矩形區(qū)域大小,以及圖元間距離計(jì)算權(quán)重,當(dāng)有多個(gè)圖元發(fā)生重疊時(shí),先將小權(quán)重圖元做為計(jì)算對(duì)象,然后調(diào)整被移動(dòng)圖元位置。因此,本方法在計(jì)算時(shí)候,不但考慮了定位時(shí)距離的影響,而且考慮了圖元大小的影響。從而大大增加了用戶(hù)的可操作性,尤其是當(dāng)和多個(gè)圖元同時(shí)重疊以及剛好能放置當(dāng)前圖元的空間。
圖1是版面中的圖元對(duì)象位置示意圖;圖2是版面中移動(dòng)圖元對(duì)象位置變化示意圖;圖3是版面中移動(dòng)圖元對(duì)象位置變化示意圖;圖4、圖5是版面中移動(dòng)圖元對(duì)象根據(jù)固定圖元對(duì)象的位置關(guān)系變化后的示意圖;圖6是版面中圖元對(duì)象之間的權(quán)重為零和無(wú)窮大的示意圖;圖7是版面中圖元對(duì)象之間的權(quán)重計(jì)算方法示意圖;圖8是另一種權(quán)重計(jì)算方法示意圖;圖9是本發(fā)明具體實(shí)施方式
中實(shí)施例1的整體流程示意圖。
具體實(shí)施例方式
下面結(jié)合附圖對(duì)本發(fā)明的具體實(shí)施方式
做進(jìn)一步的描述。
實(shí)施例1一種用于手工拼版防重疊的自動(dòng)定位裝置,包括以下部分(1)固定圖元對(duì)象權(quán)重計(jì)算裝置用于記錄移動(dòng)圖元對(duì)象在版面中的當(dāng)前位置,并根據(jù)該移動(dòng)圖元對(duì)象相對(duì)版面中其他所有固定圖元對(duì)象之間的關(guān)系計(jì)算版面中相應(yīng)固定圖元對(duì)象的權(quán)重。
所述固定圖元對(duì)象權(quán)重計(jì)算裝置在移動(dòng)圖元對(duì)象與固定圖元對(duì)象的外接矩形框之間沒(méi)有交集時(shí),計(jì)算出該固定圖元對(duì)象的權(quán)重為零。在移動(dòng)圖元對(duì)象的重心落在固定圖元對(duì)象的外接矩形的內(nèi)部或固定圖元對(duì)象重心落在移動(dòng)圖元對(duì)象內(nèi)部時(shí),計(jì)算出固定圖元對(duì)象的權(quán)重為無(wú)窮大。其他情況按權(quán)重計(jì)算公式計(jì)算。
(2)移動(dòng)圖元對(duì)象位置計(jì)算裝置,用于根據(jù)權(quán)重計(jì)算裝置計(jì)算出來(lái)的權(quán)重計(jì)算移動(dòng)圖元對(duì)象應(yīng)該移動(dòng)的方向和距離所述有權(quán)重為無(wú)窮大固定圖元對(duì)象應(yīng)放回到移動(dòng)前原始位置。所有權(quán)重為零放置到當(dāng)前位置。在所有固定圖元對(duì)象中選擇權(quán)重最小的對(duì)象,并根據(jù)該對(duì)象和移動(dòng)圖元位置關(guān)系,計(jì)算移動(dòng)圖元對(duì)象應(yīng)移動(dòng)的位置。
(3)移動(dòng)圖元對(duì)象處理裝置,該裝置根據(jù)移動(dòng)圖元對(duì)象位置計(jì)算裝置計(jì)算得到的位置調(diào)整移動(dòng)圖元對(duì)象,并對(duì)移動(dòng)后的圖元對(duì)象重復(fù)執(zhí)行上述各步驟,此時(shí)如果遍歷完所有的固定圖元對(duì)象仍不能找到合適的位置,則移動(dòng)圖元對(duì)象的被放置到拖放前的原始位置。
如圖9所示,一種手動(dòng)拼版防重疊自動(dòng)定位方法,包括以下步驟(1)記錄移動(dòng)圖元對(duì)象在版面中的當(dāng)前位置,根據(jù)該圖元對(duì)象相對(duì)版面中其他所有固定圖元對(duì)象之間的位置關(guān)系計(jì)算權(quán)重,并分別將計(jì)算得到的權(quán)重值記為版面中相應(yīng)固定圖元對(duì)象的權(quán)重;計(jì)算圖元對(duì)象之間的位置關(guān)系權(quán)重時(shí)有兩種特殊情況權(quán)重為零和權(quán)重為無(wú)窮大。如圖6所示,S601是移動(dòng)圖元對(duì)象,S602是固定圖元對(duì)象,此時(shí)S601和S602的外接矩形框之間沒(méi)有交集時(shí),本實(shí)施例中定義S601和S602之間的位置關(guān)系權(quán)重為零。此時(shí),S601圖元對(duì)象被拖放到當(dāng)前的位置,而不需要再計(jì)算放置位置。相反地,在圖6中,移動(dòng)圖元對(duì)象S603的重心落在固定圖元對(duì)象S604的外接矩形的內(nèi)部。為了方便描述,將圖元對(duì)象S603的重心位置放大后用黑色圓圈區(qū)域表示。此時(shí),本實(shí)施列中定義圖元對(duì)象S603和S604之間的位置關(guān)系權(quán)重為無(wú)窮大。則不能放置到虛線所示的位置,而只能被重新放到拖動(dòng)前的位置。下面具體介紹一般情況下圖元對(duì)象之間位置關(guān)系權(quán)重的計(jì)算方法在圖7中,移動(dòng)圖元對(duì)象S701和固定圖元對(duì)象S702的外接矩形框的交集部分如圖中陰影部分S707所示,而移動(dòng)圖元對(duì)象S701的重心位置S708在固定圖元對(duì)象S702外接矩形的外面,同樣地固定圖元對(duì)象S702外接矩形的重心位置S709也在移動(dòng)圖元對(duì)象S701外接矩形的外面。首先計(jì)算出陰影部分的面積大小∑,然后計(jì)算出兩個(gè)圖元對(duì)象重心位置之間的距離為L(zhǎng)en,此時(shí),圖元對(duì)象S701和S702之間的位置關(guān)系權(quán)重為∏=∑+Len2。
并將此∏值記為固定圖元對(duì)象S702的權(quán)重大小。
接下來(lái)我們結(jié)合附圖進(jìn)一步說(shuō)明本發(fā)明所述的方法,如圖1所示有三個(gè)圖元對(duì)象,其中S101為移動(dòng)圖元對(duì)象,S102和S103為固定圖元對(duì)象,移動(dòng)圖元對(duì)象S101被拖放前三個(gè)圖元對(duì)象之間的位置關(guān)系沒(méi)有重疊。在圖3中,移動(dòng)圖元對(duì)象S101的被拖動(dòng)到S301虛線框所在的位置時(shí),便與S102和S103之間發(fā)生了位置上重疊,此時(shí)S101面臨著被重新放置。根據(jù)本實(shí)施例中上述方法,分別計(jì)算移動(dòng)圖元對(duì)象S101跟固定圖元對(duì)象S102和S103之間的位置關(guān)系權(quán)重∏1和∏2,并分別記為圖元對(duì)象S102和S103的權(quán)重。
(2)若所有固定圖元對(duì)象的權(quán)重為零,則將移動(dòng)圖元對(duì)象放置在當(dāng)前位置,此手動(dòng)拼版過(guò)程結(jié)束,否則執(zhí)行步驟(3);計(jì)算完版面中移動(dòng)圖元對(duì)象跟固定圖元對(duì)象之間的位置關(guān)系權(quán)重后,重新檢查所有固定圖元對(duì)象的權(quán)重大小。如果所有固定圖元對(duì)象的權(quán)重為零,如圖2所示,S101被拖放到S201虛線框所處的位置時(shí),S101和固定圖元對(duì)象S102和S103之間的位置關(guān)系權(quán)重全為零。此時(shí),將移動(dòng)圖元對(duì)象S101放置在S201所示的位置,此次手動(dòng)拼版過(guò)程結(jié)束。在圖3中,圖元對(duì)象S102和S103的位置關(guān)系權(quán)重都大于零,繼續(xù)執(zhí)行步驟(3)。
(3)在權(quán)重大于零的固定圖元對(duì)象集合中選擇權(quán)重最小的對(duì)象,并根據(jù)該對(duì)象的邊與移動(dòng)圖元對(duì)象重心的距離關(guān)系,計(jì)算保證不發(fā)生重疊時(shí)移動(dòng)圖元對(duì)象所處的位置;由圖3可以看出,記圖元對(duì)象S301和圖元對(duì)象S102相交的面積為∑1,且兩者重心之間的距離為L(zhǎng)en1,圖元對(duì)象S301和圖元對(duì)象S103相交的面積為∑2,且兩者之間的距離為L(zhǎng)en2,示意圖中∑2等于∑1,同時(shí)Len1小于Len2。則圖元對(duì)象S103的權(quán)重小于圖元對(duì)象S102的權(quán)重,因此S101首先根據(jù)圖元對(duì)象S103的位置關(guān)系發(fā)生位移。接下來(lái)按照如前所述的方法,分別計(jì)算S101的重心距離S103的四條邊的遠(yuǎn)近,從而得出S101移動(dòng)最小的距離,并且保證移動(dòng)后不會(huì)與S103再次發(fā)生位置重疊。從圖3中可以看出,S101從S301所處的位置水平向左移動(dòng)時(shí),移動(dòng)的距離是最小的,因此S101首先根據(jù)與S103之間相對(duì)位置關(guān)系,水平向左移動(dòng)到如圖4所示的S401虛線框所代表的位置。
(4)根據(jù)步驟(3)中計(jì)算得到的位置調(diào)整移動(dòng)圖元對(duì)象,并對(duì)移動(dòng)后的圖元對(duì)象重復(fù)執(zhí)行上述各步驟,此時(shí)如果遍歷完所有的固定圖元對(duì)象仍不能找到合適的位置,則移動(dòng)圖元對(duì)象被放置到拖放前的原始位置。
本實(shí)施例中,當(dāng)S101移動(dòng)到圖4中S401虛線框所示的位置后,再重復(fù)執(zhí)行上述步驟。先計(jì)算跟其他圖元對(duì)象之間的位置關(guān)系權(quán)重。位置發(fā)生變化后的S101跟S103之間不再發(fā)生位置重疊情況,相應(yīng)地S102的位置關(guān)系權(quán)重變?yōu)榱?;而S101跟S102的位置關(guān)系權(quán)重依舊大于零,但是S401所示的虛線框的重心位置在S102的外接矩形的外面,其位置關(guān)系權(quán)重不為無(wú)窮大。
接下來(lái)直接執(zhí)行步驟(3),在本實(shí)施例中,只剩下了一個(gè)位置關(guān)系權(quán)重大于零并且不為無(wú)窮大的圖元對(duì)象S103。按照步驟(3)中計(jì)算方法得到S101從S401所處的位置垂直向下移動(dòng)時(shí),移動(dòng)的距離是最小的,因此S101首先根據(jù)與S102之間相對(duì)位置關(guān)系,垂直向下移動(dòng)到如圖5所示的S501虛線框所代表的位置。此時(shí),依然重復(fù)執(zhí)行上述各步驟,當(dāng)S101被移動(dòng)到圖5中S501所示的位置時(shí),S101與S102和S103之間的位置都不會(huì)再發(fā)生重疊,因此它們相應(yīng)的位置關(guān)系權(quán)重都變?yōu)榱?。?dāng)執(zhí)行到步驟(2)時(shí),整個(gè)的拼版過(guò)程就會(huì)結(jié)束。
但如果在步驟(3)中,S101與S103的位置關(guān)系權(quán)重為無(wú)窮大,則圖元對(duì)象S101找不到合適的位置擺放,則依然將其放回初始的位置。
實(shí)施例2(1)記錄移動(dòng)圖元對(duì)象在版面中的當(dāng)前位置,根據(jù)該圖元對(duì)象相對(duì)版面中其他所有固定圖元對(duì)象之間的位置關(guān)系計(jì)算權(quán)重,并分別將計(jì)算得到的權(quán)重值記為版面中相應(yīng)固定圖元對(duì)象的權(quán)重;對(duì)于計(jì)算圖元對(duì)象之間的位置關(guān)系權(quán)重時(shí)的兩種特殊情況權(quán)重為零和權(quán)重為無(wú)窮大,它們的計(jì)算方法跟實(shí)施例1中的步驟(1)所述的方法相同。但是對(duì)于一般情況下的圖元對(duì)象之間位置關(guān)系權(quán)重的計(jì)算方法是不一樣,下面結(jié)合圖8來(lái)具體說(shuō)明其差異性在圖8中,先假設(shè)S801為固定圖元對(duì)象,S802為移動(dòng)圖元對(duì)象,此時(shí)需要計(jì)算移動(dòng)圖元對(duì)象S802相對(duì)于固定圖元對(duì)象S801的位置關(guān)系權(quán)重。由圖8可以看出,S802的上邊界和左邊界分別與S801的右邊界和下邊界發(fā)生了位置相交關(guān)系,此時(shí)分別計(jì)算移動(dòng)圖元對(duì)象S802的上邊界到固定圖元對(duì)象S801上邊界的距離S803的大小,S802的左邊界到S801左邊界的距離S806的大小,并分別記為L(zhǎng)en1,Len2;接著計(jì)算出兩個(gè)圖元對(duì)象重心位置之間的距離為L(zhǎng)en,此時(shí),圖元對(duì)象S801和S802之間的位置關(guān)系權(quán)重為∏=Len2+Len12+Len22。
并將此∏值記為固定圖元對(duì)象S802的權(quán)重大小。
接下來(lái)我們結(jié)合附圖進(jìn)一步說(shuō)明本發(fā)明所述的方法,如圖1所示有三個(gè)圖元對(duì)象,其中S101為移動(dòng)圖元對(duì)象,S102和S103為固定圖元對(duì)象,移動(dòng)圖元對(duì)象S101被拖放前三個(gè)圖元對(duì)象之間的位置關(guān)系沒(méi)有重疊。在圖3中,移動(dòng)圖元對(duì)象S101的被拖動(dòng)到S301虛線框所在的位置時(shí),便與S102和S103之間發(fā)生了位置上重疊,此時(shí)S101面臨著被重新放置。根據(jù)本實(shí)施例中上述方法,分別計(jì)算移動(dòng)圖元對(duì)象S101跟固定圖元對(duì)象S102和S103之間的位置關(guān)系權(quán)重∏1和∏2,并分別記為圖元對(duì)象S102和S103的權(quán)重。
(2)若所有固定圖元對(duì)象的權(quán)重為零,則將移動(dòng)圖元對(duì)象放置在當(dāng)前位置,此手動(dòng)拼版過(guò)程結(jié)束,否則執(zhí)行步驟(3);計(jì)算完版面中移動(dòng)圖元對(duì)象跟固定圖元對(duì)象之間的位置關(guān)系權(quán)重后,重新檢查所有圖元對(duì)象的權(quán)重大小。如果所有圖元對(duì)象的權(quán)重為零,如圖2所示,S101被拖放到S201虛線框所處的位置時(shí),S101和固定圖元對(duì)象S102和S103之間的位置關(guān)系權(quán)重全為零。此時(shí),將移動(dòng)圖元對(duì)象S101放置在S201所示的位置,此次手動(dòng)拼版過(guò)程結(jié)束。在圖3中,圖元對(duì)象S102和S103的位置關(guān)系權(quán)重都大于零,繼續(xù)執(zhí)行步驟(3)。
(3)在權(quán)重大于零的固定圖元對(duì)象集合中選擇權(quán)重最大的對(duì)象,并根據(jù)該對(duì)象的邊與移動(dòng)圖元對(duì)象重心的距離關(guān)系,計(jì)算保證不發(fā)生重疊時(shí)移動(dòng)圖元對(duì)象所處的位置;由圖3中可以看出,由本實(shí)施例中上述的權(quán)重計(jì)算方法,S102的權(quán)重∏1大于S103的權(quán)重∏2,因此S101首先根據(jù)圖元對(duì)象S102的位置關(guān)系發(fā)生位移。接下來(lái)按照如前所述的方法,分別計(jì)算S101的上邊界到S102上邊界的距離大小Len1,S101的左邊界到S103左邊界的距離大小Len2。在圖3中,Len1大于Len2,從而得出S101移動(dòng)最小的距離,并且保證移動(dòng)后不會(huì)與S102再次發(fā)生位置重疊。接下來(lái)S101從S301所處的位置垂直向下移動(dòng)時(shí),移動(dòng)的距離是最小的,因此S101首先根據(jù)與S102之間相對(duì)位置關(guān)系,垂直向下移動(dòng)到如圖4所示的S401虛線框所代表的位置。
(4)根據(jù)步驟(3)中計(jì)算得到的位置調(diào)整移動(dòng)圖元對(duì)象,并對(duì)移動(dòng)后的圖元對(duì)象重復(fù)執(zhí)行上述各步驟,此時(shí)如果遍歷完所有的圖元對(duì)象仍不能找到合適的位置,則移動(dòng)圖元對(duì)象被放置到拖放前的原始位置。
本實(shí)施例中,當(dāng)S101移動(dòng)到圖4中S401虛線框所示的位置后,再重復(fù)執(zhí)行上述步驟。先計(jì)算跟其他圖元對(duì)象之間的位置關(guān)系權(quán)重。位置發(fā)生變化后的S101跟S102之間不再發(fā)生位置重疊情況,相應(yīng)地S102的位置關(guān)系權(quán)重變?yōu)榱?;而S101跟S103的位置關(guān)系權(quán)重依舊大于零,但是S401所示的虛線框的重心位置在S103的外接矩形的外面,其位置關(guān)系權(quán)重不為無(wú)窮大。
接下來(lái)直接執(zhí)行步驟(3),在本實(shí)施例中,只剩下了一個(gè)位置關(guān)系權(quán)重大于零并且不為無(wú)窮大的圖元對(duì)象S103。按照步驟(3)中計(jì)算方法得到S101從S401所處的位置水平向左移動(dòng)時(shí),移動(dòng)的距離是最小的,因此S101首先根據(jù)與S103之間相對(duì)位置關(guān)系,水平向左移動(dòng)到如圖5所示的S501虛線框所代表的位置。此時(shí),依然重復(fù)執(zhí)行上述各步驟,當(dāng)S101被移動(dòng)到圖5中S501所示的位置時(shí),S101與S102和S103之間的位置都不會(huì)再發(fā)生重疊,因此它們相應(yīng)的位置關(guān)系權(quán)重都變?yōu)榱?。?dāng)執(zhí)行到步驟(2)時(shí),整個(gè)的拼版過(guò)程就會(huì)結(jié)束。
但如果在步驟(3)中,S101與S103的位置關(guān)系權(quán)重為無(wú)窮大,則圖元對(duì)象S101找不到合適的位置擺放,則依然將其放回初始的位置。
上述步驟只是一個(gè)優(yōu)選的實(shí)施方式。本領(lǐng)域技術(shù)人員不難得出其他的實(shí)施方法而不違背本發(fā)明的總體思想。例如,在計(jì)算移動(dòng)圖元和版面中已固定圖元間的權(quán)重關(guān)系時(shí),可以采取其他的計(jì)算方法。
權(quán)利要求
1.一種用于手工拼版防重疊的自動(dòng)定位方法,包括以下步驟(1)記錄移動(dòng)圖元對(duì)象在版面中的當(dāng)前位置,根據(jù)該移動(dòng)圖元對(duì)象相對(duì)版面中其他所有固定圖元對(duì)象之間的位置關(guān)系計(jì)算所有固定圖元對(duì)象的權(quán)重;(2)若所有固定圖元對(duì)象的權(quán)重為零,則將移動(dòng)圖元對(duì)象放置在當(dāng)前位置,此手動(dòng)拼版過(guò)程結(jié)束,否則執(zhí)行步驟(3);若所有固定圖元對(duì)象的權(quán)重為無(wú)窮大,則將移動(dòng)圖元對(duì)象放置在原始位置,否則執(zhí)行步驟(3);(3)在權(quán)重大于零且非為無(wú)窮大的固定圖元對(duì)象集合中選擇權(quán)重最小的對(duì)象,并根據(jù)所述固定圖元對(duì)象的邊與移動(dòng)圖元對(duì)象位置關(guān)系移動(dòng)移動(dòng)圖元對(duì)象;(4)根據(jù)步驟(3)中計(jì)算得到的位置調(diào)整移動(dòng)圖元對(duì)象,并對(duì)移動(dòng)后的移動(dòng)圖元對(duì)象重復(fù)執(zhí)行上述各步驟,此時(shí)如果遍歷完所有的固定圖元對(duì)象仍不能找到合適的位置,則將移動(dòng)圖元對(duì)象放置到拖放前的原始位置。
2.如權(quán)利要求1所述的一種用于手工拼版防重疊的自動(dòng)定位方法,其特征在于步驟(1)中,移動(dòng)圖元對(duì)象與固定圖元對(duì)象之間的位置關(guān)系權(quán)重∏是按如下方法計(jì)算的∏=∑+Len2,其中,∑表示移動(dòng)圖元對(duì)象與固定圖元對(duì)象重疊部分的面積大小,Len表示移動(dòng)圖元對(duì)象與固定圖元對(duì)象重心位置之間的距離。
3.如權(quán)利要求1所述的一種用于手工拼版防重疊的自動(dòng)定位方法,其特征在于步驟(1)中,移動(dòng)圖元對(duì)象與固定圖元對(duì)象之間的位置關(guān)系權(quán)重∏是按如下方法計(jì)算的∏=Len2+Len12+Len22,所述Len表示移動(dòng)圖元對(duì)象與固定圖元對(duì)象重心位置之間的距離,所述Len1表示移動(dòng)圖元對(duì)象的上邊界到固定圖元對(duì)象上邊界的距離,所述Len2表示移動(dòng)圖元對(duì)象的左邊界到固定圖元對(duì)象左邊界的距離。
4.如權(quán)利要求2或3所述的一種用于手工拼版防重疊的自動(dòng)定位方法,其特征在于步驟(3)中,根據(jù)所述固定圖元對(duì)象的邊與移動(dòng)圖元對(duì)象位置關(guān)系移動(dòng)移動(dòng)圖元對(duì)象,包括根據(jù)移動(dòng)圖元對(duì)象外接矩形和所述權(quán)重最小的固定圖元外接矩形相交的矩形區(qū),比較所述相交矩形水平和垂直方向邊長(zhǎng)的長(zhǎng)度,并且將移動(dòng)圖元對(duì)象按邊長(zhǎng)較小的邊進(jìn)行移動(dòng),移動(dòng)距離即為較小邊長(zhǎng)的長(zhǎng)度,并按水平或垂直方向移動(dòng)移動(dòng)圖元對(duì)象至權(quán)重最小的固定圖元對(duì)象相切的位置。
5.如權(quán)利要求1所述的一種用于手工拼版防重疊的自動(dòng)定位方法,其特征在于,所述步驟(2)中所有固定圖元對(duì)象的權(quán)重為零,是指移動(dòng)圖元對(duì)象與所有固定圖元對(duì)象的外接矩形框之間沒(méi)有交集。
6.如權(quán)利要求1所述的一種用于手工拼版防重疊的自動(dòng)定位方法,其特征在于,所述步驟(3)中固定圖元對(duì)象的權(quán)重為無(wú)窮大,是指移動(dòng)圖元對(duì)象的重心落在固定圖元對(duì)象的外接矩形的內(nèi)部或固定圖元對(duì)象的重心落在移動(dòng)圖元對(duì)象的外接矩形的內(nèi)部。
7.一種用于手工拼版防重疊的自動(dòng)定位裝置,包括以下部分(1)固定圖元對(duì)象權(quán)重計(jì)算裝置用于記錄移動(dòng)圖元對(duì)象在版面中的當(dāng)前位置,并根據(jù)該移動(dòng)圖元對(duì)象相對(duì)版面中其他所有固定圖元對(duì)象之間的位置關(guān)系計(jì)算版面中相應(yīng)固定圖元對(duì)象的權(quán)重;所述固定圖元對(duì)象權(quán)重計(jì)算裝置在移動(dòng)圖元對(duì)象與固定圖元對(duì)象的外接矩形框之間沒(méi)有交集時(shí),計(jì)算出該固定圖元對(duì)象的權(quán)重為零,在移動(dòng)圖元對(duì)象的重心落在固定圖元對(duì)象的外接矩形的內(nèi)部或者固定圖元對(duì)象重心落在移動(dòng)圖元對(duì)象外接矩形的內(nèi)部時(shí),計(jì)算出固定圖元對(duì)象的權(quán)重為無(wú)窮大;(2)移動(dòng)圖元對(duì)象位置計(jì)算裝置,用于根據(jù)權(quán)重計(jì)算裝置計(jì)算出來(lái)的權(quán)重計(jì)算移動(dòng)圖元對(duì)象不與版面上其他固定圖元對(duì)象發(fā)生重疊時(shí)移動(dòng)圖元對(duì)象所處的位置所述移動(dòng)圖元對(duì)象位置計(jì)算裝置在所有固定圖元對(duì)象的權(quán)重為零時(shí),計(jì)算出移動(dòng)圖元對(duì)象的被放置位置為當(dāng)前位置,此手動(dòng)移動(dòng)過(guò)程結(jié)束;否則所述移動(dòng)圖元對(duì)象位置計(jì)算裝置在權(quán)重大于零的固定圖元對(duì)象集合中選擇權(quán)重最小的對(duì)象,并根據(jù)該對(duì)象的邊與移動(dòng)圖元對(duì)象位置關(guān)系,水平或者垂直移動(dòng)移動(dòng)圖元對(duì)象到和該固定圖元對(duì)象相切位置;(3)移動(dòng)圖元對(duì)象處理裝置,按移動(dòng)圖元對(duì)象當(dāng)前位置重復(fù)執(zhí)行上述各步驟,此時(shí)如果遍歷完所有的固定圖元對(duì)象仍不能找到合適的位置,則移動(dòng)圖元對(duì)象的被放置到拖放前的原始位置。
全文摘要
本發(fā)明涉及一種手動(dòng)拼版過(guò)程中防重疊的自動(dòng)定位方法和裝置,屬于計(jì)算機(jī)排版技術(shù)中的手工拼版領(lǐng)域?,F(xiàn)有的拼版技術(shù)中,手工拼版的效率低下,并且隨著版面中小頁(yè)個(gè)數(shù)的增多,手動(dòng)調(diào)整的難度相應(yīng)增大。本發(fā)明根據(jù)移動(dòng)圖元對(duì)象與各個(gè)固定圖元對(duì)象之間的位置關(guān)系計(jì)算各個(gè)固定圖元對(duì)象的權(quán)重,然后通過(guò)各個(gè)固定圖元對(duì)象的權(quán)重來(lái)確定移動(dòng)圖元對(duì)象的拼版位置。采用本發(fā)明所述的方法和裝置,能夠在拼版過(guò)程中保證不發(fā)生位置重疊的前提下,方便、快捷、準(zhǔn)確地定位移動(dòng)圖元的拼版位置。
文檔編號(hào)G06F17/25GK101013419SQ200710063968
公開(kāi)日2007年8月8日 申請(qǐng)日期2007年2月15日 優(yōu)先權(quán)日2007年2月15日
發(fā)明者南水魚(yú), 楊斌, 王立東 申請(qǐng)人:北京北大方正電子有限公司, 北京大學(xué), 北大方正集團(tuán)有限公司