国产精品1024永久观看,大尺度欧美暖暖视频在线观看,亚洲宅男精品一区在线观看,欧美日韩一区二区三区视频,2021中文字幕在线观看

  • <option id="fbvk0"></option>
    1. <rt id="fbvk0"><tr id="fbvk0"></tr></rt>
      <center id="fbvk0"><optgroup id="fbvk0"></optgroup></center>
      <center id="fbvk0"></center>

      <li id="fbvk0"><abbr id="fbvk0"><dl id="fbvk0"></dl></abbr></li>

      一種基于觸屏的軟筆實(shí)現(xiàn)方法及裝置的制造方法_2

      文檔序號:8395664閱讀:來源:國知局
      段進(jìn)行關(guān)鍵點(diǎn)計(jì)算;
      [0057]如果否則用擬合優(yōu)化模塊擬合所述關(guān)鍵點(diǎn)到所述起點(diǎn)之間的線段之后,用固化模塊線段。
      [0058]可選的,所述固化模塊固化所述關(guān)鍵點(diǎn)到所述起點(diǎn)之間的線段后,所述關(guān)鍵點(diǎn)在所述數(shù)據(jù)獲取模塊中作為起始點(diǎn),繪制模塊重新開始繪制。
      [0059]可選的,所述判斷模塊在判斷關(guān)鍵點(diǎn)不存在時,還包括用于進(jìn)一步判斷所述當(dāng)前點(diǎn)到起始點(diǎn)是否達(dá)到第二閾值N ;
      [0060]如果是,則用所述擬合優(yōu)化模塊擬合優(yōu)化所述當(dāng)前點(diǎn)與所述起始點(diǎn)之間的線段之后,用固化模塊固化所述線段;
      [0061]如果否,則用所述擬合優(yōu)化模塊擬合優(yōu)化所述當(dāng)前點(diǎn)與所述起始點(diǎn)之間的線段之后,用數(shù)據(jù)獲取模塊重新開始獲取所述數(shù)據(jù)。
      [0062]可選的,所述判斷模塊中判斷的第二閾值N包括時間閾值Tm和/或長度閾值Lm。
      [0063]可選的,所述第二閾值N為時間閾值Tm與距離閾值Lm,判斷模塊將判斷從所述當(dāng)前點(diǎn)到起始點(diǎn)的時間或距離中任意一個是否達(dá)到所述時間閾值Tm或距離閾值Lm,如果達(dá)到了任何一個,則判斷結(jié)果為是;否則,即T < 1?且1^ < Lm時,則判斷結(jié)果為否。
      [0064]可選的,所述第二閾值N為時間閾值TM,判斷模塊將判斷從所述當(dāng)前點(diǎn)到起始點(diǎn)的時間是否達(dá)到所述時間閾值TM,如果達(dá)到,則判斷結(jié)果為是;否則,即T < Tm時,則判斷結(jié)果為否。
      [0065]可選的,所述第二閾值N為距離閾值LM,判斷模塊判斷從所述當(dāng)前點(diǎn)到起始點(diǎn)的距離是否達(dá)到所述距離閾值Lm,如果達(dá)到,則判斷結(jié)果為是;否則,即L < Lm時,則判斷結(jié)果為否。
      [0066]可選的,所述固化模塊固化所述當(dāng)前點(diǎn)與所述起始點(diǎn)之間的線段后,繪制模塊將當(dāng)前點(diǎn)作為下一個繪制過程的起始點(diǎn),繪制重新開始。
      [0067]可選的,所述擬合優(yōu)化模塊在擬合優(yōu)化所述線段時,擬合優(yōu)化方式是基于根據(jù)貝塞爾曲線算法優(yōu)化得出的。
      [0068]從上面所述可以看出,本發(fā)明提供的一種基于觸屏的軟筆實(shí)現(xiàn)方法及裝置,實(shí)現(xiàn)方式是通過獲取的壓力值大小調(diào)節(jié)繪制線段的寬度,通過關(guān)鍵點(diǎn)算法進(jìn)行計(jì)算,以貝塞爾曲線擬合優(yōu)化線段,并對擬合優(yōu)化后的線段進(jìn)行固化并顯示固化后的線段。本發(fā)明所提供的方法及裝置,是模擬軟筆進(jìn)行繪制的,這樣的繪制方式使得繪制圖像的真實(shí)度高,顯示實(shí)時性強(qiáng),整個繪制過程非常真實(shí),用戶在繪制過程中感覺良好。
      【附圖說明】
      [0069]圖1為本發(fā)明實(shí)施例基于觸屏的軟筆實(shí)現(xiàn)方法流程圖;
      [0070]圖2為本發(fā)明實(shí)施例基于觸屏的軟筆實(shí)現(xiàn)裝置結(jié)構(gòu)圖。
      【具體實(shí)施方式】
      [0071]為使本發(fā)明的目的、技術(shù)方案和優(yōu)點(diǎn)更加清楚明白,以下結(jié)合具體實(shí)施例,并參照附圖,對本發(fā)明進(jìn)一步詳細(xì)說明。
      [0072]參見圖1所示,本發(fā)明提供了一種基于觸屏的軟筆實(shí)現(xiàn)方法,具體包括以下步驟:
      [0073]步驟1,在與觸屏的接觸面上獲取數(shù)據(jù),數(shù)據(jù)包括當(dāng)前點(diǎn)的壓力值和當(dāng)前點(diǎn)的坐標(biāo)位置,并根據(jù)壓力值繪制圓
      [0074]作為本發(fā)明的一個實(shí)施例,與觸屏所接觸的硬件裝置是一個電磁筆,電磁筆的筆頭裝有彈性裝置,壓力數(shù)據(jù)被分為512個檔位,每個檔位都對應(yīng)的彈性裝置的一個彈性度,根據(jù)彈性裝置的彈性度,獲取壓力值??蛇x的,壓力數(shù)據(jù)也可以被分為255個檔位,或者1024個檔位。作為一個實(shí)施例,對于具有壓力感知能力的觸屏,也可直接由觸屏獲取所述壓力值,無需借助電磁筆,用其他類型的筆或手指也可以實(shí)現(xiàn)。
      [0075]在屏幕上的每個像素點(diǎn),都對應(yīng)一個唯一的坐標(biāo)位置。由于坐標(biāo)位置是一個動態(tài)值,當(dāng)前的坐標(biāo)位置的獲取,是根據(jù)筆尖與觸屏所接觸的當(dāng)前點(diǎn)Ad所在位置。
      [0076]作為本發(fā)明的一個實(shí)施例,為了避免采樣點(diǎn)過多影響計(jì)算速度,繪制過程中,壓力值與坐標(biāo)位置都是根據(jù)預(yù)設(shè)間隔值進(jìn)行取樣,例如每隔兩個像素值獲取一次數(shù)據(jù),或者每間隔一段時間,例如每40ms獲取一次數(shù)據(jù)。
      [0077]作為本發(fā)明的一個實(shí)施例,繪制圓也是一個實(shí)時的過程,每當(dāng)獲取到一個點(diǎn)的數(shù)據(jù)時,就在該點(diǎn)根據(jù)壓力值在所述坐標(biāo)位置繪制圓。作為一個實(shí)施例,所述繪制是一個虛擬的運(yùn)算過程,包括步驟2中的繪制公切線和填充過程,步驟5或步驟9或步驟11中的擬合優(yōu)化過程,都是在繪制過程中虛擬進(jìn)行的,這些過程并不會被用戶看到,而用戶最終從顯示屏幕上看到的,就是步驟6或步驟10已經(jīng)完成固化的線段。
      [0078]起始點(diǎn)為As為第一個取樣點(diǎn),此時的當(dāng)前點(diǎn)Ad就是起始點(diǎn)As,即Ad=As,首先獲取到As點(diǎn)的壓力值和坐標(biāo)位置,在As點(diǎn)根據(jù)壓力值繪制一個圓。
      [0079]作為本發(fā)明的一個實(shí)施例,繪制圓的步驟包括:根據(jù)壓力值大小按照正比關(guān)系確定圓半徑并生成圓。圓半徑的大小與壓力值的每個檔位都是一一對應(yīng)的關(guān)系,壓力值越大(對于電磁筆則是彈性度越大),圓半徑就越大。作為一個實(shí)施例,所述繪制的圓為實(shí)心圓。
      [0080]步驟2,在步驟I中得到的相鄰的兩個圓之間繪制公切線,并對兩個圓與公切線之間的區(qū)域進(jìn)行填充,形成具有一定粗細(xì)的線段。
      [0081]作為本發(fā)明的一個實(shí)施例,步驟2的繪制過程是一個實(shí)時過程。即每獲得到一個點(diǎn)的數(shù)據(jù),就在這個點(diǎn)根據(jù)壓力值繪制圓。并在這個點(diǎn)與前一個點(diǎn)之間的圓上繪制公切線。當(dāng)前點(diǎn)為Ad,在Ad點(diǎn)根據(jù)壓力值繪制圓,在當(dāng)前點(diǎn)Ad與當(dāng)前點(diǎn)的前一個點(diǎn)Aih的對應(yīng)的兩個圓之間繪制公切線。
      [0082]該繪制過程從起始點(diǎn)As開始之后的第二個點(diǎn)As2開始進(jìn)行。假設(shè)當(dāng)前點(diǎn)Ad是起始位置開始的第二個點(diǎn)As2即Ad=As2,首先在As2點(diǎn)繪制圓,然后在As點(diǎn)和As2兩個點(diǎn)所對應(yīng)兩個圓之間繪制公切線。
      [0083]公切線繪制完成后,對公切線與相鄰的兩個圓之間形成空白區(qū)域進(jìn)行填充。作為一個實(shí)施例,對空白區(qū)域填充的顏色與繪制所使用的顏色是相同顏色。
      [0084]步驟3,對已經(jīng)繪制的線段進(jìn)行關(guān)鍵點(diǎn)算法計(jì)算。關(guān)鍵點(diǎn)算法包括以下步驟:
      [0085]步驟31,選取需要計(jì)算關(guān)鍵點(diǎn)的線段(該線段并非一定是直線,也可能是曲線、折線等)。作為本發(fā)明的一個實(shí)施例,關(guān)鍵點(diǎn)算法計(jì)算至少應(yīng)該包括三個點(diǎn)。
      [0086]步驟32,將所選取線段的兩個端點(diǎn)(起始點(diǎn)和終點(diǎn))之間連成一條直線。
      [0087]步驟33,計(jì)算該線段上的所有的點(diǎn)到所述直線的垂直距離。
      [0088]作為本發(fā)明的一個實(shí)施例,所述選取需要計(jì)算關(guān)鍵點(diǎn)的線段是當(dāng)前點(diǎn)與所述起始點(diǎn)之間的線段。所述該線段上的所有的點(diǎn)一般為步驟I中的數(shù)據(jù)獲取點(diǎn),若該點(diǎn)在步驟5或步驟11中做過擬合優(yōu)化處理,則為步驟5或步驟11中擬合優(yōu)化的線段上的點(diǎn)。
      [0089]作為本發(fā)明的一個實(shí)施例,所述垂直距離計(jì)算,不包括線段的兩個端點(diǎn)到所述直線的垂直距離。因?yàn)榫€段的兩個端點(diǎn)與直線的兩個端點(diǎn)是重合的,距離為O。
      [0090]假設(shè)選取線段AdAs進(jìn)行計(jì)算,起始點(diǎn)As、當(dāng)前點(diǎn)AD,As和Ad兩個點(diǎn)為線段的兩個端點(diǎn),將As到Ad連成一條直線,計(jì)算直線上所有的點(diǎn)到該直線間的垂直距離,不包括As和Ad兩個點(diǎn)的。
      [0091]步驟4,對步驟33中所述所有垂直距離計(jì)算結(jié)果進(jìn)行判斷,判斷閾值為M,所述閾值M > O。若其中最大的垂直距離Li大于等于預(yù)設(shè)的閾值M時,即Li彡M時則判斷有關(guān)鍵點(diǎn),該垂直距離最大的點(diǎn)即為關(guān)鍵點(diǎn)Ak,觸發(fā)步驟5。若該最大的垂直距離Li小于閾值M時,即Li< M則判斷該線段上沒有關(guān)鍵點(diǎn),觸發(fā)步驟8。
      [0092]步驟5,當(dāng)步驟4的判斷結(jié)果為有關(guān)鍵點(diǎn)時,擬合優(yōu)化所述關(guān)鍵點(diǎn)兩邊的線段。具體的是指,關(guān)鍵點(diǎn)固定不動,以關(guān)鍵點(diǎn)所在位置為界,將所述線段分為兩段,即起始點(diǎn)到關(guān)鍵點(diǎn)之間的選段,以及關(guān)鍵點(diǎn)到當(dāng)前點(diǎn)之間的線段,分別對這兩部分線段進(jìn)行擬合優(yōu)化。假設(shè)當(dāng)前點(diǎn)Ad與起始點(diǎn)As之間的線段是AsAd,Ak為該線段上的關(guān)鍵點(diǎn),從關(guān)鍵點(diǎn)Ak將線段分為兩段,即線段AsAk和線段AkAd,固化關(guān)鍵點(diǎn)Ακ,擬合優(yōu)化線段AsAk和線段AKAD。
      [0093]步驟6,固化關(guān)鍵點(diǎn)與起始點(diǎn)之間的線段。對這部分線段不再進(jìn)行繪制和計(jì)算,所述關(guān)鍵點(diǎn)作
      當(dāng)前第2頁1 2 3 4 5 
      網(wǎng)友詢問留言 已有0條留言
      • 還沒有人留言評論。精彩留言會獲得點(diǎn)贊!
      1