專利名稱:圖像數(shù)據(jù)轉(zhuǎn)換方法和設(shè)備的制作方法
技術(shù)領(lǐng)域:
本發(fā)明涉及一種圖像數(shù)據(jù)生成方法和設(shè)備,更具體地,涉及一種將位圖 轉(zhuǎn)換成二進(jìn)制數(shù)據(jù)的圖像數(shù)據(jù)轉(zhuǎn)換方法和設(shè)備。
背景技術(shù):
在工控產(chǎn)品的研發(fā)過程中,常常需要將位圖轉(zhuǎn)換成二進(jìn)制數(shù)據(jù)以供產(chǎn)品
使用。例如在人機(jī)界面(Human Machine Interface )的開發(fā)過程中,人機(jī)界面 需要顯示不同的字符串、圖標(biāo)等等,在設(shè)計(jì)階段,這些字符串、圖標(biāo)是以位 圖的形式存在。但是,人機(jī)界面本身并不是直接處理原始的位圖文件(這往 往是出于運(yùn)行效率的考慮),而是處理由這些位圖文件轉(zhuǎn)換成的,更容易處理 的二進(jìn)制數(shù)據(jù)。
從項(xiàng)目開發(fā)流程的角度來看,將位圖轉(zhuǎn)換成二進(jìn)制數(shù)據(jù)是一個(gè)將設(shè)計(jì)轉(zhuǎn) 換為實(shí)現(xiàn)的過程。首先由設(shè)計(jì)人員規(guī)劃好需要顯示的字符串、圖標(biāo)等圖像資 源(位圖文件),然后由開發(fā)人員將這些圖像資源轉(zhuǎn)化為程序資源(二進(jìn)制數(shù) 據(jù))。對(duì)于最終的產(chǎn)品來說,只有程序資源才是有意義并可以使用的。
通常,使用傳統(tǒng)的開發(fā)技術(shù),將圖像資源轉(zhuǎn)化為程序資源是一個(gè)冗長的 過程。開發(fā)人員需要將位圖逐條轉(zhuǎn)化,工作量與圖像數(shù)量成正比,如果圖像 數(shù)量增加一倍,開發(fā)人員的工作量也將增加一倍。在一個(gè)大型項(xiàng)目中,資源 轉(zhuǎn)化的工作量是非常巨大的。
同時(shí),設(shè)計(jì)人員有可能設(shè)計(jì)出過長的字符串或過大的圖標(biāo),導(dǎo)致屏幕無 法顯示完全。這一類尺寸上的設(shè)計(jì)失誤,往往只有在資源轉(zhuǎn)化完成后,通過 實(shí)際觀察屏幕顯示才能發(fā)現(xiàn)。這樣的設(shè)計(jì)漏洞不僅增加了額外的工作量,并 且可能影響到項(xiàng)目的整體進(jìn)度。
如果能夠減少轉(zhuǎn)化的工作量同時(shí)預(yù)報(bào)尺寸設(shè)計(jì)失誤,對(duì)整個(gè)項(xiàng)目來說是 及其有利的。
發(fā)明內(nèi)容
本發(fā)明旨在提高圖像數(shù)據(jù)的轉(zhuǎn)換效率,同時(shí)通過智能分析幫助界面設(shè)計(jì) 人員改進(jìn)設(shè)計(jì)方案。
本發(fā)明能夠一次性將所有圖像資源轉(zhuǎn)化為程序資源,同時(shí)生成掃描報(bào)告 描述資源中存在的尺寸設(shè)計(jì)錯(cuò)誤。
本發(fā)明提供一種圖像數(shù)據(jù)轉(zhuǎn)換方法,包括將待轉(zhuǎn)換的圖像數(shù)據(jù)排列在 一張位圖中;將所述位圖整體讀取至一個(gè)變量;從起始點(diǎn)開始逐行掃描該變 量以按照預(yù)定尺寸提取圖像數(shù)據(jù)的信息;以及將所提取的圖像數(shù)據(jù)的信息轉(zhuǎn) 換成程序資源。
本發(fā)明還提供一種圖像數(shù)據(jù)轉(zhuǎn)換設(shè)備,包括用于將待轉(zhuǎn)換的圖像數(shù)據(jù) 排列在一張位圖中的裝置;用于將所述位圖整體讀取至一個(gè)變量的裝置;用 于從起始點(diǎn)開始逐行掃描該變量以按照預(yù)定尺寸提取圖像數(shù)據(jù)的信息的裝 置;以及用于將所提取的圖像數(shù)據(jù)的信息轉(zhuǎn)換成程序資源的裝置。
本發(fā)明的技術(shù)方案具有如下優(yōu)點(diǎn)
1. 批量地資源轉(zhuǎn)化。將所有需要轉(zhuǎn)換的圖像資源排列在一張位圖中 后,可以一次性生成其所對(duì)應(yīng)的程序資源,由此批量轉(zhuǎn)換而不需逐條轉(zhuǎn)換, 加快了轉(zhuǎn)換速度。
2. 智能定位圖像資源的坐標(biāo)。位圖中的圖像資源不需要嚴(yán)格的整齊配 列,通過對(duì)位圖的整體掃描,可以智能地獲得圖像資源在位圖中的坐標(biāo)。
3. 智能檢測圖像資源的尺寸。通過對(duì)圖像資源附近點(diǎn)的掃描,可以智 能地判斷圖像資源的尺寸是否超出預(yù)定的合理范圍,并生成相關(guān)的報(bào)告。這 樣可以減少由于設(shè)計(jì)漏洞而增加的工作量。
4. 以空間換取時(shí)間上的高效。將位圖內(nèi)容全部讀取至內(nèi)存中,在整個(gè) 轉(zhuǎn)換過程中僅對(duì)內(nèi)存進(jìn)行讀寫操作,提高運(yùn)行效率。并且節(jié)省了開發(fā)人員的 工作量,由此實(shí)現(xiàn)成本的節(jié)約。
通過結(jié)合附圖對(duì)本發(fā)明的優(yōu)選實(shí)施例進(jìn)行詳細(xì)描述,本發(fā)明的上述和其 他目的、特性和優(yōu)點(diǎn)將會(huì)變得更加清楚,其中相同的標(biāo)號(hào)指定相同結(jié)構(gòu)的單 元,并且在其中圖1示出了將4個(gè)圖像資源排列在一張位圖中的示意圖2示出了從第 一行開始提取圖像資源的示意圖3示出了根據(jù)預(yù)定尺寸提取第一條字符串資源的信息的示意圖4示出了從第二行開始提取圖像資源的示意圖5示出了根據(jù)預(yù)定尺寸提取第n條字符串資源的信息的示意圖6示出了根據(jù)本發(fā)明的圖像數(shù)據(jù)轉(zhuǎn)換方法的流程圖;以及
圖7示出了根據(jù)本發(fā)明另一實(shí)施例的圖像數(shù)據(jù)轉(zhuǎn)換方法的流程圖。
具體實(shí)施例方式
通過借助附圖在下文中將描述本發(fā)明的優(yōu)選實(shí)施例。在以下描述中,將 不詳細(xì)描述眾所周知的功能或結(jié)構(gòu),因?yàn)椴槐匾募?xì)節(jié)將導(dǎo)致本發(fā)明的介紹 含混不清。
圖1示出了將4個(gè)圖像資源排列在一張位圖中的示意圖。 如圖1所示,將所有圖像資源縱向排列在一張位圖中,作為系統(tǒng)輸入。
圖像之間在縱向上保持一定的距離,并且圖像的位置之間不需要嚴(yán)格的整齊配列。
在圖l的位圖中,將所有的圖像資源縱向排列在一張位圖中,此例中示 例性地排列了 4個(gè)字符串資源stringl、 string2、 string3、和longstring。根據(jù) 每個(gè)圖像資源和一張位圖的大小以及需要轉(zhuǎn)換的圖像資源的數(shù)量,可以排列 4個(gè)以上或4個(gè)以下的圖像資源在一張位圖中。
從圖l可以看出,本發(fā)明的轉(zhuǎn)換并不要求圖像資源的嚴(yán)格對(duì)齊,但是在 縱向上需要保持距離,以避免疊加。
將位圖數(shù)據(jù)讀取至一個(gè)2維矩陣中RAW_DATA[H][W], H是位圖的高, W是位圖的寬,單位是象素(pixel)。矩陣中每個(gè)單元的值為0 (白色)或1 (黑色)。上述的讀取操作是一個(gè)從位圖至矩陣的映射過程。假設(shè)位圖是X+Y 個(gè)象素點(diǎn)構(gòu)成,則我們使用一個(gè)由乂*丫個(gè)元素構(gòu)成的矩陣,矩陣中的元素與 位圖中的象素——對(duì)應(yīng),矩陣元素的值反映了象素的顏色信息。(對(duì)于黑白 圖,0為白色,1為黑色)
圖2示出了從矩陣起始點(diǎn)開始掃描矩陣的示意圖。
從矩陣起始點(diǎn)開始,分別逐行、逐列掃描矩陣,結(jié)合行、列所掃描到的 黑色點(diǎn)的坐標(biāo)可以確定一個(gè)圖像資源在位圖中的坐標(biāo)。上述的掃描是一個(gè)遍歷矩陣的過程,我們使用一個(gè)游標(biāo)來執(zhí)行掃描。游標(biāo)的初始位置是矩陣起始 位置,將游標(biāo)所指的值讀取到一塊緩存區(qū)域中,然后游標(biāo)加一,以掃描下一 個(gè)元素。由于矩陣的元素與位圖的象素是——對(duì)應(yīng)的,所以對(duì)矩陣的掃描相 當(dāng)于對(duì)位圖進(jìn)行了掃描。
按照?qǐng)D2中箭頭的方向,從第一行開始,通過逐行、逐列掃描并判斷矩 陣中的點(diǎn)可以確定第 一 條字符串資源的坐標(biāo)。
之后按照預(yù)定尺寸提取內(nèi)存中的矩陣值并轉(zhuǎn)化為程序資源。也即,每掃 描一行圖像資源的同時(shí)將其轉(zhuǎn)換成程序資源。
圖3示出了根據(jù)預(yù)定尺寸提取內(nèi)存中第一條字符串資源的信息的示意圖。
圖3中stringl外圍的方框部分示意性地示出了預(yù)定尺寸的大小。但是該 預(yù)定尺寸并不限于圖3中所示的大小。設(shè)計(jì)人員可以根據(jù)需要對(duì)預(yù)定尺寸的 大小進(jìn)行設(shè)定,只要不會(huì)因所設(shè)定的預(yù)定尺寸大而使得屏幕無法完全顯示該 圖像資源即可。
上述提取是一個(gè)整理掃描數(shù)據(jù)的過程。在掃描的過程中,緩存區(qū)域存儲(chǔ) 有掃描數(shù)據(jù)。每當(dāng)掃描到一定階段時(shí)(預(yù)定尺寸),將緩存中的數(shù)據(jù)轉(zhuǎn)化為程 序資源所要求的格式(具體格式依實(shí)際應(yīng)用決定),并將格式化的數(shù)據(jù)輸出到 程序資源。
圖4示出了從上一個(gè)圖像資源的底端點(diǎn)作為起點(diǎn)而開始掃描矩陣的示意圖。
當(dāng)完成矩陣起始行的掃描和提取之后,以上一個(gè)圖像資源的底端點(diǎn)作為 新的起點(diǎn),繼續(xù)逐行、逐列掃描,繼續(xù)重復(fù)如上參照?qǐng)D2和圖3所描述的掃 描和提取字符串資源的信息的過程,即,確定新的圖像坐標(biāo)、轉(zhuǎn)化、分析尺 寸直至掃描結(jié)束。
按照?qǐng)D4中箭頭所示的方向,掃描第二條字符串資源的坐標(biāo)。并且同樣 對(duì)第二條字符串資源執(zhí)行圖3所示的提取操作,即提取第二條字符串資源的 信息。
圖5示出了根據(jù)預(yù)定尺寸提取內(nèi)存中第n條字符串資源的信息的示意圖。 根據(jù)本發(fā)明,重復(fù)上述掃描和提取過程直至最后一圖像資源,即第n條 圖像資源。在掃描第n條字符串資源的(本發(fā)明的示例中為第4條字符串資 源)過程中,如圖5所示,當(dāng)在預(yù)定尺寸之外檢測到黑點(diǎn)時(shí),認(rèn)為此字符串尺寸超標(biāo),記錄進(jìn)尺寸掃描報(bào)告。
也即,在任何一條圖像資源的掃描和提取過程中,判斷在預(yù)定尺寸之外 是否檢測到黑色點(diǎn),如果在預(yù)定尺寸之外檢測到黑色點(diǎn),則認(rèn)為該圖像資源 的尺寸超標(biāo),并將信息(如圖像編號(hào))記錄進(jìn)尺寸掃描報(bào)告。這樣,能夠智 能地判斷圖像資源的尺寸是否超出預(yù)定范圍。
當(dāng)確定所有圖像資源的轉(zhuǎn)換完成后,最終輸出為 一份程序資源及一份尺 寸掃描報(bào)告。
圖6示出了根據(jù)本發(fā)明的圖像數(shù)據(jù)轉(zhuǎn)換方法的流程圖。 如圖6所示,在步驟Sl,將所有圖像數(shù)據(jù)排列在一張位圖中。在步驟 S2,將所述位圖整體讀Jf又至一個(gè)二維矩陣中。在步驟S3,從矩陣起始點(diǎn)開始, 分別逐行掃描該矩陣以確定圖像數(shù)據(jù)在位圖中的坐標(biāo)。在步驟S4,按照預(yù)定 尺寸提取圖像數(shù)據(jù)的信息,即矩陣值。以及在步驟S5,將所提取的圖像數(shù)據(jù) 的信息轉(zhuǎn)換成程序資源。
圖7示出了根據(jù)本發(fā)明另一實(shí)施例的圖像數(shù)據(jù)轉(zhuǎn)換方法的流程圖。 如圖7所示,在步驟Sl,將所有圖像數(shù)據(jù)排列在一張位圖中。在步驟 S2,將所述位圖整體讀取至一個(gè)二維矩陣中。在步驟S3,從矩陣起始點(diǎn)開始, 分別逐行掃描該矩陣以確定圖像數(shù)據(jù)在位圖中的坐標(biāo)。在步驟S4,按照預(yù)定 尺寸提取圖像數(shù)據(jù)的信息,即矩陣值。在步驟S5,判斷圖像數(shù)據(jù)是否超出了 預(yù)定尺寸。如果圖像數(shù)據(jù)超出預(yù)定尺寸,則在步驟S6將超出預(yù)定尺寸的消息 記錄進(jìn)尺寸掃描報(bào)告。如果圖像數(shù)據(jù)沒有超出預(yù)定尺寸,則在步驟S7,將所 提取的圖像數(shù)據(jù)的信息轉(zhuǎn)換成程序資源。
權(quán)利要求
1. 一種圖像數(shù)據(jù)轉(zhuǎn)換方法,包括將待轉(zhuǎn)換的圖像數(shù)據(jù)排列在一張位圖中;將所述位圖整體讀取至一個(gè)變量;從起始點(diǎn)開始逐行掃描該變量以按照預(yù)定尺寸提取圖像數(shù)據(jù)的信息;以及將所提取的圖像數(shù)據(jù)的信息轉(zhuǎn)換成程序資源。
2. 如權(quán)利要求1所述的圖像數(shù)據(jù)轉(zhuǎn)換方法,進(jìn)一步包括判斷圖像數(shù)據(jù) 是否超出預(yù)定尺寸,將超出預(yù)定尺寸的消息記錄進(jìn)尺寸掃描報(bào)告。
3. 如權(quán)利要求2所述的圖像數(shù)據(jù)轉(zhuǎn)換方法,其中所述消息包括圖像編號(hào)。
4. 如權(quán)利要求2所述的圖像數(shù)據(jù)轉(zhuǎn)換方法,其中判斷圖像數(shù)據(jù)是否超出 預(yù)定尺寸的步驟包括如果在預(yù)定尺寸之外^r測到所述變量的值為1,則確 定該圖像數(shù)據(jù)超出預(yù)定尺寸。
5. 如權(quán)利要求1所述的圖像數(shù)據(jù)轉(zhuǎn)換方法,其中所述變量是一個(gè)像素值 為0和1的2維矩陣。
6. 如權(quán)利要求1所述的圖像數(shù)據(jù)轉(zhuǎn)換方法,其中所述圖像數(shù)據(jù)可以是字 符串、圖標(biāo)等。
7. 如權(quán)利要求1所述的圖像數(shù)據(jù)轉(zhuǎn)換方法,其中所述程序資源包括二進(jìn) 制數(shù)據(jù)。
8. —種圖像數(shù)據(jù)轉(zhuǎn)換設(shè)備,包括用于將待轉(zhuǎn)換的圖像數(shù)據(jù)排列在一張位圖中的裝置; 用于將所述位圖整體讀取至一個(gè)變量的裝置;用于從起始點(diǎn)開始逐行掃描該變量以按照預(yù)定尺寸提取圖像數(shù)據(jù)的信息 的裝置;以及用于將所提取的圖像數(shù)據(jù)的信息轉(zhuǎn)換成程序資源的裝置。
9. 如權(quán)利要求8所述的圖像數(shù)據(jù)轉(zhuǎn)換設(shè)備,進(jìn)一步包括用于判斷圖像 數(shù)據(jù)是否超出預(yù)定尺寸,將超出預(yù)定尺寸的消息記錄進(jìn)尺寸掃描報(bào)告的裝置。
10. 如權(quán)利要求9所述的圖像數(shù)據(jù)轉(zhuǎn)換方法,其中所述判斷裝置用于當(dāng) 在預(yù)定尺寸之外檢測到所述變量的值為1時(shí),確定該圖像數(shù)據(jù)超出預(yù)定尺寸。
全文摘要
本發(fā)明提供一種圖像數(shù)據(jù)轉(zhuǎn)換方法,包括將待轉(zhuǎn)換的圖像數(shù)據(jù)排列在一張位圖中;將所述位圖整體讀取至一個(gè)變量;從起始點(diǎn)開始逐行掃描該變量以按照預(yù)定尺寸提取圖像數(shù)據(jù)的信息;以及將所提取的圖像數(shù)據(jù)的信息轉(zhuǎn)換成程序資源。
文檔編號(hào)G06F9/44GK101414254SQ20071016361
公開日2009年4月22日 申請(qǐng)日期2007年10月16日 優(yōu)先權(quán)日2007年10月16日
發(fā)明者凱 劉 申請(qǐng)人:施耐德電器工業(yè)公司