HTML5畫布 文本和字體含代碼

HTML5畫布 – 文本和字體

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

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

// 創建畫布對象
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()方法則用綠色線條繪制文本。愛掏網 - it200.com在默認情況下,文本是黑色的。愛掏網 - it200.com

fillText()

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

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

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

strokeText()

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

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

定義字體

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

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

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

  • normal:常規字形
  • italic:斜體字形
  • oblique:傾斜字形

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

對齊和基線

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

textAlign

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

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

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

textBaseline

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

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

上述代碼中,文本將在畫布的中心位置繪制。愛掏網 - 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>

結論

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

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

返回頂部

主站蜘蛛池模板: 老子影院午夜伦不卡手机| 亚洲AV永久无码一区二区三区| 五月综合色婷婷在线观看| 中文字幕在线永久在线视频2020 | 贵妇的脚奴视频vk| 男人j进美女p动态图片| 明星换脸高清一区二区| 天天躁日日躁狠狠躁一区| 国产无套乱子伦精彩是白视频| 午夜视频十八嗯嗯啊免费| 亚洲国产精品久久久久久| 中文字幕一二三四区| 久久96国产精品久久久| 69p69国产精品| 紧扣的星星完整版免费观看| 欧美中日韩在线| 少妇高潮流白浆在线观看| 国产欧美日韩一区| 人妻丝袜无码专区视频网站| 久久老色鬼天天综合网观看| а√天堂中文资源| 韩国一级毛片完整高清| 欧美综合亚洲图片综合区| 成年人免费观看视频网站| 国产欧美日韩一区二区三区| 免费A级毛片无码无遮挡| 久久久亚洲欧洲日产国码aⅴ| 91福利在线观看视频| 97精品久久天干天天蜜| 色一情一乱一伦一区二区三区 | 中文字幕丰满乱码| 麻豆久久婷婷综合五月国产| 欧美精品在欧美一区二区| 岳一夜被你要了六次| 国产天堂亚洲国产碰碰| 亚洲国产激情在线一区| av无码精品一区二区三区| 精品国产成人亚洲午夜福利| 日本一本一道波多野结衣 | 国产亚洲精品精品精品| 亚欧洲精品在线视频免费观看|