[發(fā)明專利]繪制文本的方法及裝置在審
| 申請(qǐng)?zhí)枺?/td> | 201610065571.2 | 申請(qǐng)日: | 2016-01-29 |
| 公開(kāi)(公告)號(hào): | CN107025098A | 公開(kāi)(公告)日: | 2017-08-08 |
| 發(fā)明(設(shè)計(jì))人: | 周建濤 | 申請(qǐng)(專利權(quán))人: | 北京國(guó)雙科技有限公司 |
| 主分類號(hào): | G06F9/44 | 分類號(hào): | G06F9/44 |
| 代理公司: | 北京鼎佳達(dá)知識(shí)產(chǎn)權(quán)代理事務(wù)所(普通合伙)11348 | 代理人: | 王偉鋒,劉鐵生 |
| 地址: | 100086 北京市海淀區(qū)*** | 國(guó)省代碼: | 北京;11 |
| 權(quán)利要求書(shū): | 查看更多 | 說(shuō)明書(shū): | 查看更多 |
| 摘要: | |||
| 搜索關(guān)鍵詞: | 繪制 文本 方法 裝置 | ||
技術(shù)領(lǐng)域
本發(fā)明涉及計(jì)算機(jī)技術(shù)領(lǐng)域,尤其涉及一種繪制文本的方法及裝置。
背景技術(shù)
畫(huà)布(Canvas)元素是超文本標(biāo)記語(yǔ)言5.0(Hyper Text Markup Language5.0,簡(jiǎn)稱HTML5)應(yīng)用中的一個(gè)新元素,它用于在網(wǎng)頁(yè)上繪制圖形。Canvas元素自己沒(méi)有繪圖的能力,它是將一個(gè)繪圖的API展現(xiàn)給客戶端,使客戶端使用JavaScript將想要繪制的圖形內(nèi)容繪制到Canvas上。另外,通過(guò)多種方法也可以將繪制字符、文本,或者將圖像等添加到Canvas上。
當(dāng)在一個(gè)有限寬度的Canvas上繪制文本時(shí),通常是先設(shè)置繪制的起點(diǎn)坐標(biāo),然后從起點(diǎn)坐標(biāo)開(kāi)始由左向右將文本一次性繪制到Canvas上,由于Canvas本身只支持單行繪制,因此當(dāng)需要繪制的文本比較長(zhǎng)且單行排列的總長(zhǎng)度超過(guò)Canvas的寬度時(shí),則會(huì)根據(jù)Canvas的寬度進(jìn)行適當(dāng)?shù)目s小文本以適應(yīng)Canvas的寬度。但是,當(dāng)文本過(guò)長(zhǎng),并將其縮小到可視的范圍內(nèi)時(shí)依然不能將完整的文本繪制在Canvas中時(shí),對(duì)于超出Canvas寬度的部分文本則不會(huì)在Canvas上繪制,而是將超出的部分省略,而且還可能出現(xiàn)在Canvas最右邊可能出現(xiàn)只顯示某個(gè)字符的一部分的情況。綜上可以看出,現(xiàn)有的在Canvas上繪制文本的方法效果差。
發(fā)明內(nèi)容
鑒于上述問(wèn)題,提出了本發(fā)明以便提供一種克服上述問(wèn)題或者至少部分地解決上述問(wèn)題的一種繪制文本的方法及裝置。
為解決上述技術(shù)問(wèn)題,一方面,本發(fā)明提供了一種繪制文本的方法,該方法包括:
在畫(huà)布Canvas上繪制每一個(gè)字符之前,計(jì)算當(dāng)前的剩余寬度,所述剩余寬度為Canvas寬度減去前一個(gè)字符的字符終點(diǎn)橫坐標(biāo)的差值,所述字符終點(diǎn)橫坐標(biāo)為所述前一個(gè)字符的字符起點(diǎn)橫坐標(biāo)與所述前一個(gè)字符的字符 寬度之和;
判斷所述剩余寬度是否小于待繪制字符的字符寬度;
若所述剩余寬度不小于所述待繪制字符的字符寬度,則在所述前一個(gè)字符之后繪制所述待繪制字符;
若所述剩余寬度小于所述待繪制字符的字符寬度,則換行繪制所述待繪制字符。
另一方面,本發(fā)明還提供了一種繪制文本的裝置,該裝置包括:
計(jì)算單元,用于在畫(huà)布Canvas上繪制每一個(gè)字符之前,計(jì)算當(dāng)前的剩余寬度,所述剩余寬度為Canvas寬度減去前一個(gè)字符的字符終點(diǎn)橫坐標(biāo)的差值,所述字符終點(diǎn)橫坐標(biāo)為所述前一個(gè)字符的字符起點(diǎn)橫坐標(biāo)與所述前一個(gè)字符的字符寬度之和;
判斷單元,用于判斷所述剩余寬度是否小于待繪制字符的字符寬度;
第一繪制單元,用于若所述剩余寬度不小于所述待繪制字符的字符寬度,則在所述前一個(gè)字符之后繪制所述待繪制字符;
第二繪制單元,用于若所述剩余寬度小于所述待繪制字符的字符寬度,則換行繪制所述待繪制字符。
借由上述技術(shù)方案,本發(fā)明提供的繪制文本的方法及裝置,能夠在畫(huà)布Canvas上繪制每一個(gè)字符之前,首先計(jì)算Canvas的寬度減去前一個(gè)字符的字符終點(diǎn)橫坐標(biāo)的差值得到當(dāng)前Canvas的剩余寬度,其中字符終點(diǎn)橫坐標(biāo)為前一個(gè)字符的字符起點(diǎn)橫坐標(biāo)與前一個(gè)字符的字符寬度之和;然后判斷Canvas當(dāng)前剩余寬度是否小于待繪制字符的字符寬度,若剩余寬度不小于待繪制字符的字符寬度,則在前一個(gè)字符之后繪制待繪制字符,若剩余寬度小于待繪制字符的字符寬度,則另起一行繪制待繪制的字符。與現(xiàn)有技術(shù)相比,本發(fā)明能夠在Canvas上通過(guò)逐個(gè)繪制字符的方式繪制文本,并在每繪制一個(gè)字符之前計(jì)算當(dāng)前Canvas的剩余寬度,然后判斷剩余寬度是否小于待繪制字符的字符寬度,并根據(jù)判斷的結(jié)果來(lái)決定是否進(jìn)行換行繪制待繪制字符,實(shí)現(xiàn)了文本的分行繪制,使繪制不再受到Canvas寬度的限制,即使是較長(zhǎng)的文本也可以正常和完整的繪制到Canvas中,展現(xiàn)出更好的繪制效果。
附圖說(shuō)明
通過(guò)閱讀下文優(yōu)選實(shí)施方式的詳細(xì)描述,各種其他的優(yōu)點(diǎn)和益處對(duì)于本領(lǐng)域普通技術(shù)人員將變得清楚明了。附圖僅用于示出優(yōu)選實(shí)施方式的目的,而并不認(rèn)為是對(duì)本發(fā)明的限制。而且在整個(gè)附圖中,用相同的參考符號(hào)表示相同的部件。在附圖中:
圖1示出了本發(fā)明實(shí)施例提供的一種繪制文本的方法流程圖;
圖2示出了本發(fā)明實(shí)施例提供的另一種繪制文本的方法流程圖;
圖3示出了本發(fā)明實(shí)施例提供的一種繪制文本的裝置的組成框圖;
圖4示出了本發(fā)明實(shí)施例提供的另一種繪制文本的裝置的組成框圖。
具體實(shí)施方式
該專利技術(shù)資料僅供研究查看技術(shù)是否侵權(quán)等信息,商用須獲得專利權(quán)人授權(quán)。該專利全部權(quán)利屬于北京國(guó)雙科技有限公司,未經(jīng)北京國(guó)雙科技有限公司許可,擅自商用是侵權(quán)行為。如果您想購(gòu)買(mǎi)此專利、獲得商業(yè)授權(quán)和技術(shù)合作,請(qǐng)聯(lián)系【客服】
本文鏈接:http://www.szxzyx.cn/pat/books/201610065571.2/2.html,轉(zhuǎn)載請(qǐng)聲明來(lái)源鉆瓜專利網(wǎng)。
- 上一篇:桶(冷卻劑)
- 下一篇:藥品包裝盒(宏奇胃珍)
- 文本匹配方法及裝置
- 互聯(lián)網(wǎng)金融非顯性廣告識(shí)別方法及裝置
- 文本結(jié)論智能推薦方法、裝置及計(jì)算機(jī)可讀存儲(chǔ)介質(zhì)
- 文本檢索方法、裝置及設(shè)備、文本檢索模型的訓(xùn)練方法
- 基于級(jí)連模式的文本匹配方法及裝置
- 一種文本關(guān)系提取方法、裝置及電子設(shè)備
- 文本的標(biāo)準(zhǔn)化處理方法、裝置、電子設(shè)備及計(jì)算機(jī)介質(zhì)
- 文本標(biāo)簽確定方法、裝置、計(jì)算機(jī)設(shè)備和存儲(chǔ)介質(zhì)
- 文本圖像合成方法、裝置、設(shè)備及存儲(chǔ)介質(zhì)
- 文本生成方法、裝置和電子設(shè)備
- 一種數(shù)據(jù)庫(kù)讀寫(xiě)分離的方法和裝置
- 一種手機(jī)動(dòng)漫人物及背景創(chuàng)作方法
- 一種通訊綜合測(cè)試終端的測(cè)試方法
- 一種服裝用人體測(cè)量基準(zhǔn)點(diǎn)的獲取方法
- 系統(tǒng)升級(jí)方法及裝置
- 用于虛擬和接口方法調(diào)用的裝置和方法
- 線程狀態(tài)監(jiān)控方法、裝置、計(jì)算機(jī)設(shè)備和存儲(chǔ)介質(zhì)
- 一種JAVA智能卡及其虛擬機(jī)組件優(yōu)化方法
- 檢測(cè)程序中方法耗時(shí)的方法、裝置及存儲(chǔ)介質(zhì)
- 函數(shù)的執(zhí)行方法、裝置、設(shè)備及存儲(chǔ)介質(zhì)





