canvas(四) 繪制文字

繪制文本


canvas 提供了兩種方法繪制文本:

fillText(text,x,y [,maxWidth])
在指定位置的(x,y)位置填充指定的文本,繪制的最大寬度是可選的。

strokeText(text,x,y, [,maxWidth])
在指定的位置繪制文本邊框

一個填充文本的實例

function draw() {
    let canvas = document.getElementById('tutorial')
    if (canvas.getContext) {
        let ctx = canvas.getContext('2d');

        ctx.font = "20px Times New Roman"      
        ctx.fillText("Sample String", 5, 30);
    }
}
填充文本

一個邊框文本的實例

function draw() {
    let canvas = document.getElementById('tutorial')
    if (canvas.getContext) {
        let ctx = canvas.getContext('2d');

        ctx.font = "48px Times New Roman"      
        ctx.strokeText("Sample String", 5, 50);
    }
}
邊框文本

有樣式的文本

font = value
設(shè)置文本的尺寸,默認(rèn)字體是 10px sans-serif。

textAlign = value
文本對氣項,可選的值包括: start end left right center 默認(rèn)值為 start。

textBaseline value
基線對齊選項??蛇x的值包括:top hanging middle alphabetic ideographic bottom 默認(rèn)值為 alphabetic

direction = value
文本方向,可用值: ltr rtl inherit 默認(rèn)值是 inherit。

文本裁量

當(dāng)需要更多文本細(xì)節(jié)時,可以使用 measureText() 返回含文本特性的對象。

function draw() {
    let canvas = document.getElementById('tutorial')
    if (canvas.getContext) {
        let ctx = canvas.getContext('2d');

      

        ctx.font = "48px serif"
        ctx.textBseline = 'alphabetic'      
        ctx.strokeText("Sample String", 0, 100);

        var text = ctx.measureText("Sample")
        console.log(text.width)  // 返回144

    }
}
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

  • Spring Cloud為開發(fā)人員提供了快速構(gòu)建分布式系統(tǒng)中一些常見模式的工具(例如配置管理,服務(wù)發(fā)現(xiàn),斷路器,智...
    卡卡羅2017閱讀 136,569評論 19 139
  • HTML標(biāo)簽解釋大全 一、HTML標(biāo)記 標(biāo)簽:!DOCTYPE 說明:指定了 HTML 文檔遵循的文檔類型定義(D...
    米塔塔閱讀 3,530評論 1 41
  • 最基本的使用創(chuàng)建一個畫布所有的操作都在畫布的context上面canvas是基于狀態(tài)而不是基于對象的,比如說顏色都...
    親愛的孟良閱讀 1,744評論 0 4
  • 今天是五四青年節(jié),但青春早已離我遠(yuǎn)去,即使這樣,在這個特殊的日子里,我又回到了童年,回到了青春的那些歲月,與年輕的...
    遠(yuǎn)遠(yuǎn)的觀望閱讀 229評論 0 0
  • 作為一個浪漫的國度,作為一個講究美食的國家,餐桌禮儀必不可少。肢體動作,餐巾擺放,刀叉擺放(左叉右刀),都是優(yōu)雅進...
    竹欣兒閱讀 243評論 0 0

友情鏈接更多精彩內(nèi)容