一種移動(dòng)端唐詩(shī)自適應(yīng)布局方法
【技術(shù)領(lǐng)域】
[0001] 本發(fā)明屬于移動(dòng)教育技術(shù)領(lǐng)域,更具體地,涉及一種移動(dòng)端唐詩(shī)自適應(yīng)布局方法。
【背景技術(shù)】
[0002] 隨著移動(dòng)互聯(lián)網(wǎng)技術(shù)和移動(dòng)設(shè)備的快速發(fā)展,移動(dòng)學(xué)習(xí)成為數(shù)字化學(xué)習(xí)的熱點(diǎn)方 向,日益受到人們的關(guān)注。目前我國(guó)移動(dòng)學(xué)習(xí)的發(fā)展還處于初級(jí)階段,很多技術(shù)都面臨著從 傳統(tǒng)的PC端到移動(dòng)端的轉(zhuǎn)型。在指導(dǎo)小孩學(xué)習(xí)漢字時(shí),人們習(xí)慣將它們置于田字格中。欣 賞田字格中的漢字,讓孩子感受到每個(gè)字都有它的位置,而不能胡亂擺放,這是一個(gè)重要的 環(huán)節(jié)。另一方面,唐詩(shī)的學(xué)習(xí)覆蓋整個(gè)語(yǔ)文學(xué)習(xí)階段;對(duì)初學(xué)者而言,正確地抄寫具有代表 性的唐詩(shī)是深切體會(huì)其結(jié)構(gòu)之美的重要途徑。
[0003] 傳統(tǒng)的中文田字格都是在PC端通過(guò)word或excel等辦公軟件制作而成的,這種 技術(shù)的弊端在于無(wú)法適應(yīng)種類繁多和分辨率不一的移動(dòng)設(shè)備,導(dǎo)致在移動(dòng)端的顯示質(zhì)量明 顯下降。
【發(fā)明內(nèi)容】
[0004] 針對(duì)現(xiàn)有技術(shù)的以上缺陷或改進(jìn)需求,本發(fā)明提供了一種移動(dòng)端唐詩(shī)自適應(yīng)布局 方法,針對(duì)移動(dòng)設(shè)備的多樣性,利用移動(dòng)設(shè)備的分辨率計(jì)算適應(yīng)比例,使唐詩(shī)在移動(dòng)設(shè)備的 田字格中自適應(yīng)布局,其良好的中文田字格的顯示效果和精美的唐詩(shī)布局解決了在移動(dòng)端 學(xué)習(xí)漢字和唐詩(shī)的難題。
[0005] 為實(shí)現(xiàn)上述目的,本發(fā)明提供了一種移動(dòng)端唐詩(shī)自適應(yīng)布局方法,其特征在于,包 括如下步驟:
[0006] (1)建立移動(dòng)端基于矢量的中文田字格自適應(yīng)顯示模塊;
[0007] 進(jìn)一步包括如下步驟:
[0008] (1-1)在移動(dòng)端屏幕坐標(biāo)系中選取四個(gè)頂點(diǎn)A(x,y)、B(x+100,y)、C(x,y+100) 和D(x+100, y+100),得到四條矢量實(shí)線段和M構(gòu)成四邊形外邊界,選取 Mf^ 和M 的中點(diǎn) E (x+50, y)、F (X,y+50)、G (x+50, y+100)和 H (x+100, y+50),得 到兩條矢量虛線段??它和M構(gòu)成中心輔助線,從而得到標(biāo)準(zhǔn)中文田字格;其中,屏幕坐標(biāo) 系的原點(diǎn)為移動(dòng)端屏幕的左上角點(diǎn),X軸與移動(dòng)端屏幕的左側(cè)邊重合,方向向下,Y軸與移 動(dòng)端屏幕的頂邊重合,方向向右;
[0009] (1-2)設(shè)置漢字字體大小為72號(hào),居中對(duì)齊,確定漢字在標(biāo)準(zhǔn)中文田字格中繪制 的基準(zhǔn)點(diǎn)為W(x+75,y+50);
[0010] (1-3)根據(jù)給定的縮放比例scale對(duì)標(biāo)準(zhǔn)中文田字格進(jìn)行縮放,調(diào)整漢字字 體大小為72*scale號(hào),居中對(duì)齊,確定漢字在縮放后的中文田字格中繪制的基準(zhǔn)點(diǎn)為 W 1 (x+75*scale, y+50*scale),從而得到基于矢量的中文田字格自適應(yīng)顯示模塊;
[0011] (2)建立移動(dòng)端基于矢量的拼音四線格自適應(yīng)顯示模塊;
[0012] 進(jìn)一步包括如下步驟:
[0013] (2-1)在移動(dòng)端屏幕坐標(biāo)系中選取如下點(diǎn)A' (X',y)、B' (X',y+100)、 C, (x,+20, y)、D, (x,+20, y+100)、E, (x,+40, y)、F, (x,+40, y+100)、 G,(x,+60, y)和 H,(x,+60, y+100),得到四條矢量實(shí)線段和 (77/7,從而得到標(biāo)準(zhǔn)拼音四線格;其中,x ^ = χ-60 ;
[0014] (2-2)設(shè)置拼音字體大小為36號(hào),居中對(duì)齊,確定拼音在標(biāo)準(zhǔn)拼音四線格中繪制 的基準(zhǔn)點(diǎn)為P(x' +40,y+50);
[0015] (2-3)根據(jù)給定的縮放比例scale對(duì)標(biāo)準(zhǔn)拼音四線格進(jìn)行縮放,調(diào)整拼音字 體大小為36*scale號(hào),居中對(duì)齊,確定拼音在縮放后的拼音四線格中繪制的基準(zhǔn)點(diǎn)為 P 1 (X' +40*scale, y+50*scale),從而得到基于矢量的拼音四線格自適應(yīng)顯示模塊;
[0016] (3)以移動(dòng)端基于矢量的中文田字格和拼音四線格為背景自適應(yīng)布局唐詩(shī)。
[0017] 優(yōu)選地,所述步驟(3)進(jìn)一步包括如下步驟:
[0018] (3-1)以移動(dòng)端基于矢量的中文田字格和拼音四線格為背景自適應(yīng)布局唐詩(shī)標(biāo) 題;
[0019] 進(jìn)一步包括如下步驟:
[0020] (3-1-1)根據(jù)唐詩(shī)標(biāo)題的字?jǐn)?shù)對(duì)唐詩(shī)標(biāo)題分行布局;
[0021] (3-1-2)根據(jù)移動(dòng)端屏幕分辨率的寬度&和唐詩(shī)標(biāo)題分行中的最大可分配字?jǐn)?shù)心 _計(jì)算唐詩(shī)標(biāo)題各行的統(tǒng)一縮放比例S τ為:
[0022]
[0023] 其中,Df為預(yù)定的移動(dòng)端屏幕空白位置大??;
[0024] (3-1-3)計(jì)算唐詩(shī)標(biāo)題每一行的繪制起始位置Lts1為:
[0025]
[0026] 其中,C1為對(duì)應(yīng)行的可分配字?jǐn)?shù);
[0027] (3-1-4)根據(jù)漢字順序,從唐詩(shī)標(biāo)題每一行的繪制起始位置Lts1開(kāi)始,按照100* δ τ 進(jìn)行偏移,計(jì)算唐詩(shī)標(biāo)題每一行中的每一個(gè)字的繪制起始位置;
[0028] (3-1-5)利用中文田字格自適應(yīng)顯示模塊和拼音四線格自適應(yīng)顯示模塊完成唐詩(shī) 標(biāo)題的繪制;
[0029] (3-2)以移動(dòng)端基于矢量的中文田字格和拼音四線格為背景自適應(yīng)布局唐詩(shī)內(nèi) 容;
[0030] 進(jìn)一步包括如下步驟:
[0031] (3-2-1)根據(jù)標(biāo)點(diǎn)符號(hào)正則式對(duì)唐詩(shī)內(nèi)容進(jìn)行分割,計(jì)算唐詩(shī)內(nèi)容總行數(shù)和各行 字?jǐn)?shù),并據(jù)此判斷唐詩(shī)的體裁,當(dāng)唐詩(shī)的體裁為古詩(shī)時(shí),順序執(zhí)行步驟(3-2-2),否則跳至步 驟(3-2-3);
[0032] (3-2-2)通過(guò)如下兩種方法之一重新對(duì)唐詩(shī)內(nèi)容進(jìn)行分行布局,并得到唐詩(shī)內(nèi)容 的行數(shù)及行最大字?jǐn)?shù);
[0033] 方法一:設(shè)置行最大字?jǐn)?shù)為7,遇到字?jǐn)?shù)大于7的行則自動(dòng)換行;
[0034] 方法二:設(shè)置行最大字?jǐn)?shù)為15,遇到相鄰兩行字?jǐn)?shù)和小于15則置于同一行,遇到 字?jǐn)?shù)大于15的行則自動(dòng)換行;
[0035] (3-2-3)分別計(jì)算唐詩(shī)內(nèi)容布局的面積比
1寬度比
,以及高度比
,從而得到唐詩(shī)內(nèi)容各行的統(tǒng)一縮放比例S N =min{Vs,Vw,VH};其中,Rwa為唐詩(shī)內(nèi)容布局的實(shí)際寬度,R haS唐詩(shī)內(nèi)容布局的實(shí)際高度,η 為唐詩(shī)內(nèi)容的行數(shù),Cn _為唐詩(shī)內(nèi)容的行最大字?jǐn)?shù);
[0036] (3-2-4)計(jì)算唐詩(shī)內(nèi)容每一行的繪制起始位置Lns1為:
[0037]
[0038] 其中,Cj為對(duì)應(yīng)行的字?jǐn)?shù);
[0039] (3-2-5)根據(jù)漢字順序,從唐詩(shī)內(nèi)容每一行的繪制起始位置Lns1開(kāi)始,按照100* δ Ν 進(jìn)行偏移,計(jì)算唐詩(shī)內(nèi)容每一行的每一個(gè)字的繪制起始位置;
[0040] (3-2-6)利用中文田字格自適應(yīng)顯示模塊和拼音四線格自適應(yīng)顯示模塊完成唐詩(shī) 內(nèi)容的繪制。
[0041] 優(yōu)選地,所述步驟(3-1-1)進(jìn)一步包括如下步驟:
[0042] (3-1-1-1)將唐詩(shī)標(biāo)題的總字?jǐn)?shù)除以7后取整加1,得到分行數(shù);
[0043] (3-1-1-2)判斷分行數(shù)是否小于3,是則執(zhí)行步驟(3-1-1-3);否則將分行數(shù)設(shè)置 為3,執(zhí)行步驟(3-1-1-4);
[0044] (3-1-1-3)將唐詩(shī)標(biāo)題的總字?jǐn)?shù)除以分行數(shù)后取整加1,得到每行可分配字?jǐn)?shù),判 斷每行可分配字?jǐn)?shù)是否小于7,是則將第一行的可分配字?jǐn)?shù)減1,第二行的可分配字?jǐn)?shù)加1, 否則設(shè)置每行可分配字?jǐn)?shù)為7,過(guò)程結(jié)束;
[0045] (3-1-1-4)將唐詩(shī)標(biāo)題的總字?jǐn)?shù)除以分行數(shù)后取整加1,得到每行可分配字?jǐn)?shù),將 第一行的可分配字?jǐn)?shù)減2,第二行和第三行的可分配字?jǐn)?shù)加1,過(guò)程結(jié)束。
[0046] 優(yōu)選地,所述步驟(3-2-1)中,唐詩(shī)體裁的判斷規(guī)則為:若唐詩(shī)內(nèi)容總行數(shù)為4且 各行字?jǐn)?shù)均為5則為五言絕句;若唐詩(shī)內(nèi)容總行數(shù)為4且各行字?jǐn)?shù)均為7則為七言絕句;若 唐詩(shī)內(nèi)容總行數(shù)為8且各行字?jǐn)?shù)均為5則為五言律詩(shī);若唐詩(shī)內(nèi)容總行數(shù)為8且各行字?jǐn)?shù) 均為7則為七言律詩(shī);其它情況統(tǒng)一歸類為古詩(shī)。
[0047] 總體而言,通過(guò)本發(fā)明所構(gòu)思的以上技術(shù)方案與現(xiàn)有技術(shù)相比,具有以下有益效 果:
[0048] (1)從繪制原理出發(fā),自適應(yīng)各類不同尺寸的移動(dòng)端屏幕,無(wú)需針對(duì)特定屏幕大小 制作特定資源,能有效減少程序的大小與內(nèi)容使用。
[0049] (2)采用基于矢量的繪制,能有效避免以圖像方式縮放導(dǎo)致的模糊問(wèn)題。
[0050] (3)首先提出自適應(yīng)不同體裁唐詩(shī)的拼音與田字格聯(lián)合展示,填補(bǔ)了應(yīng)用空白。
【附圖說(shuō)明】
[0051] 圖1是本發(fā)明實(shí)施例的移動(dòng)端唐詩(shī)自適應(yīng)布局方法的流程圖;
[0052] 圖2是建立移動(dòng)端基于矢量的中文田字格自適應(yīng)顯示模塊的流程圖;
當(dāng)前第1頁(yè)
1 
2 
3