1.文字
準備
,不提
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>W.html</title>
<style>
#canvas
{
position: fixed;
left: -20px;
top:-20px;
}
</style>
</head>
<body>
<canvas id="canvas" height="800" width = "1400"></canvas>
<script src="w.js"></script>
</body>
</html>
在設定canvas的寬度與高度時,不能使用px字尾
(預設的canvas元素大小是300×150個螢幕畫素)
後續
// (1)使用document.getElementById()方法[3]來獲取指向canvas的引用。
var canvas = document.getElementById("canvas"),
// (2)在canvas物件上呼叫getContext('2d')方法,獲取繪圖環境變數(注意,"2d"中的"d"必須小寫)。
context = canvas.getContext('2d');
// (3)使用繪圖環境物件在canvas元素上進行繪製。
context.strokeStyle = 'rgb(50,50,50)';
// context.font='38pt Arial';
// context.fillStyle='cornflowerblue';
// 清空畫布
context.clearRect(0,0,canvas.clientWidth,canvas.height);
// 透明度
context.globalAlpha=0.5;
context.strokeText('Hello',50,50);
fillText()方法使用fillStyle屬性來填充文字中的字元,
strokeText()方法則使用strokeStyle屬性來描繪字元的輪廓線。
fillStyle與strokeStyle屬性可以是CSS格式的顏色、漸變色或是圖案。
fillText()與strokeText()都需要3個引數:要繪製的文字內容,以及在canvas中顯示文字的橫、縱座標。
第2次後續
var canvas = document.getElementById('canvas'),
ctx = canvas.getContext('2d');
ctx.strokeStyle = 'blue';
var pos = [];
// push() 方法可向陣列的末尾新增一個或多個元素,並返回新的長度
document.onclick = (e)=>{
pos.push({x:e.pageX,y:e.pageY,n:50});
};
function draw(){
ctx.clearRect(0,0,canvas.width,canvas.height);
// array.forEach(function(currentValue, index, arr), thisValue)
// forEach() 方法用於呼叫陣列的每個元素,並將元素傳遞給回撥函式。
pos.forEach((item,i)=>{
if(item.n>0){
ctx.globalAlpha = item.n/50;
ctx.strokeText("Hello,world",item.x,item.y);
item.y--;
item.n--;
};
else{
delete pos[i];
}
})
// setTimeout() 方法用於在指定的毫秒數後呼叫函式或計算表示式。
setTimeout(
()=>{draw()}
,100);
}
draw();
做成了炫酷的特效
相關文章
- 讓我們寫一個 Win32 文字編輯器吧 - 1. 簡介Win32
- 1.緒論
- 1. 初始SpringMVCSpringMVC
- 1. install software
- [Vue] Slots - 1. basicVue
- 1.遞推式
- 1. 兩數之和
- 1. SpringBoot 入門Spring Boot
- 1.系統理解
- 1. 梯度下降法梯度
- 1.初識scala
- 1.註冊感言……
- 1. JUC簡介
- 1. VUE介紹Vue
- Flutter – 1.簡介Flutter
- 1.表規範
- 1.單例模式單例模式
- 1.輸入輸出
- 1. rocket mq 總結MQ
- 1. MySQL 深入總結MySql
- 1.博文標題
- 1.基礎知識
- 1. Spring啟示錄Spring
- 1. 對Vue的理解Vue
- 1.簡易使用ServletServlet
- 1.引入vue.jsVue.js
- 1.獲取資料
- 1. Getting Stared with Database AdministrationDatabase
- 1.網路工作原理
- LeetCode 1. 兩數之和LeetCode
- [Algorithm] 1. A+B ProblemGo
- 1. swoole 的安裝
- 1. 初始認識 Spring CloudSpringCloud
- 1.變數和運算子變數
- 1. 流體運動方程
- 【Spring Security】1.快速入門Spring
- 【PhpSelenium】1.環境安裝PHP
- [PhpSelenium] 1.環境安裝PHP