HTML5畫布 文本和字體含代碼

    HTML5畫布 – 文本和字體

    HTML5的畫布(canvas)不僅能夠繪制圖形和圖像,還能在畫布上添加文本和字體。愛掏網(wǎng) - it200.com在本文中,我們將討論如何在HTML5畫布中添加文本和字體。愛掏網(wǎng) - it200.com

    在HTML5畫布中,可以使用canvas的fillText()strokeText()方法來繪制文本。愛掏網(wǎng) - it200.com這兩種方法除了顏色和字形之外,其他參數(shù)都是一樣的。愛掏網(wǎng) - it200.com

    // 創(chuàng)建畫布對象
    var canvas = document.getElementById("myCanvas");
    var ctx = canvas.getContext("2d");
    
    // 定義文本的樣式
    ctx.font = "30px Arial";
    
    // 繪制文本
    ctx.fillText("Hello World", 10, 50);
    ctx.strokeText("Hello World", 10, 80);
    

    上述代碼中,fillText()方法用紅色填充文本,strokeText()方法則用綠色線條繪制文本。愛掏網(wǎng) - it200.com在默認情況下,文本是黑色的。愛掏網(wǎng) - it200.com

    fillText()

    fillText()方法在畫布上填充指定的文本,其語法如下:

    ctx.fillText(text, x, y, maxWidth);
    

    其中,參數(shù)text表示要填充的文本,參數(shù)xy表示文本的起始點,maxWidth為可選參數(shù),表示最大寬度。愛掏網(wǎng) - it200.com如果填充的文本超出了maxWidth的寬度,可能會壓縮文本。愛掏網(wǎng) - it200.com

    strokeText()

    strokeText()方法用線條繪制指定的文本,其語法與fillText()方法相同。愛掏網(wǎng) - it200.com

    ctx.strokeText(text, x, y, maxWidth);
    

    定義字體

    與CSS中的字體定義類似,HTML5畫布也支持使用不同的字形和字號來繪制文本。愛掏網(wǎng) - it200.com

    ctx.font = "italic bold 20px Arial";
    

    上述代碼中,font屬性指定了文本的字體樣式,包括字形、字號和字體類型。愛掏網(wǎng) - it200.com在HTML5畫布中,字形主要有以下幾種類型:

    • normal:常規(guī)字形
    • italic:斜體字形
    • oblique:傾斜字形

    字體類型也可以是Web安全字體:Arial、Comic Sans MS、Courier New、Georgia、Impact、Times New Roman、Trebuchet MS、Verdana。愛掏網(wǎng) - it200.com

    對齊和基線

    當使用fillText()strokeText()方法繪制文本時,我們可以使用textAligntextBaseline屬性來控制文本的對齊和基線。愛掏網(wǎng) - it200.com

    textAlign

    textAlign屬性定義繪制文本時的對齊方式。愛掏網(wǎng) - it200.com它的值可以是以下之一:

    • start:文本在指定的位置開始
    • end:文本在指定的位置結(jié)束
    • center:文本的中心被放置在指定的位置
    • left:文本左對齊
    • right:文本右對齊
    ctx.textAlign = "center";
    ctx.fillText("Hello World", canvas.width/2, canvas.height/2);
    

    上述代碼中,文本將在畫布的中心位置繪制。愛掏網(wǎng) - it200.com

    textBaseline

    textBaseline屬性定義了在文本垂直對齊時的基線位置。愛掏網(wǎng) - it200.com它的值可以是以下之一:

    • alphabetic:默認值,文本基線是標準字母基線
    • top:文本基線是 em 方塊的頂端
    • hanging:文本基線是 懸掛基線
    • middle:文本基線是 em 方塊的正中
    • ideographic:文本基線是 標準漢字的基線
    • bottom:文本基線是 em 方塊的底端
    ctx.textBaseline = "middle";
    ctx.fillText("Hello World", canvas.width/2, canvas.height/2);
    

    上述代碼中,文本將在畫布的中心位置繪制。愛掏網(wǎng) - it200.com

    實例

    <!-- HTML5畫布 - 文本和字體 -->
    <!DOCTYPE html>
    <html>
    <body>
    
    <canvas id="myCanvas" width="200" height="100" style="border:1px solid #d3d3d3;">
    Your browser does not support the HTML5 canvas tag.</canvas>
    
    <script>
    var canvas = document.getElementById("myCanvas");
    var ctx = canvas.getContext("2d");
    ctx.font = "30px Arial";
    ctx.textAlign = "center";
    ctx.textBaseline = "middle";
    ctx.fillText("Hello World", canvas.width/2, canvas.height/2);
    </script>
    
    </body>
    </html>
    

    結(jié)論

    HTML5畫布不僅支持繪制圖形和圖像,還支持在畫布上添加文本和字體。愛掏網(wǎng) - it200.com通過使用fillText()strokeText()方法,我們可以在畫布上添加文本,并使用fonttextAligntextBaseline屬性來定義其字體和對齊方式。愛掏網(wǎng) - it200.com這些功能使畫布成為一個非常強大的工具,可以用于繪制各種動態(tài)和靜態(tài)的視覺效果。愛掏網(wǎng) - it200.com

    聲明:所有內(nèi)容來自互聯(lián)網(wǎng)搜索結(jié)果,不保證100%準確性,僅供參考。如若本站內(nèi)容侵犯了原著者的合法權(quán)益,可聯(lián)系我們進行處理。
    發(fā)表評論
    更多 網(wǎng)友評論0 條評論)
    暫無評論

    返回頂部

    主站蜘蛛池模板: 国模吧一区二区三区精品视频| 国产精品亚洲午夜一区二区三区 | 日本精品夜色视频一区二区| 国产内射在线激情一区| 成人免费视频一区二区三区| 久久精品岛国av一区二区无码| 亚洲日本一区二区三区在线| 欲色影视天天一区二区三区色香欲| 亚洲日韩国产欧美一区二区三区| 无码少妇一区二区性色AV| 午夜福利国产一区二区| 国产精品区一区二区三| 日韩AV无码一区二区三区不卡| 偷拍激情视频一区二区三区| 麻豆一区二区99久久久久| 无码人妻一区二区三区免费n鬼沢| 久久精品无码一区二区日韩AV| 波多野结衣中文一区| 国产精品一区电影| 国产一区美女视频| 免费无码AV一区二区| 四虎永久在线精品免费一区二区| 日本一区二区三区精品视频| 国模一区二区三区| 视频在线观看一区| 亚洲第一区精品观看| 国产精品免费一区二区三区| 爆乳熟妇一区二区三区霸乳| 中文字幕精品无码一区二区| 三上悠亚一区二区观看| 成人精品视频一区二区三区| 亚洲中文字幕无码一区二区三区| 波多野结衣免费一区视频| 人妻少妇一区二区三区| 亚洲综合色一区二区三区| 亚洲国产情侣一区二区三区| 人妖在线精品一区二区三区| 好吊妞视频一区二区| 内射少妇一区27P| 真实国产乱子伦精品一区二区三区| 高清国产精品人妻一区二区|