
本文共 5914 字,大约阅读时间需要 19 分钟。
HTML5??
HTML5???????????????????????????????????????????????????????????????????????????????????
H5?????
H5?????????????????????????????????????Canvas??????????????????????????????????
H5?H4???
?H4???HTML5?????API??????????????????????<canvas>
?<audio>
?<video>
???????????????????
?????
??????HTML5?????????????????????????????????<header>
??????????<footer>
?????????????????????????????
canvas-????
<canvas>
???HTML5??????????????JavaScript?????????????????????????????????????????????????
canvas-????
?<canvas>
??????????<canvas>
?getContext('2d')
????????????fillRect(x, y, width, height)
??????????????
const canvas = document.getElementById('myCanvas');const ctx = canvas.getContext('2d');ctx.fillStyle = 'red';ctx.fillRect(10, 10, 100, 100);
canvas-????
???<canvas>
?????????????????????????beginPath()
?????moveTo()
?????lineTo()
?????arc()
???????????????????
canvas-save&restore
?<canvas>
??????save()
????????????????restore()
??????????????????????
canvas-??
???????????????????????????????arc()
?????????????fillText()
?????
canvas-??
<canvas>
????????????????????????arc()
?ellipse()
?parabola()
???????????????
canvas-??
<canvas>
???????????????????????translate()
???rotate()
???scale()
??????????????????
canvas-????
???????????????
ctx.save();ctx.translate(100, 100);ctx.rotate(45);ctx.fillStyle = 'blue';ctx.fillRect(0, 0, 100, 100);ctx.restore();
??????
<canvas>
???????????????????scale()
?????????translate()
???????????????
canvas??-??
???????????????
canvas??-??
??????????<canvas>
??????drawClock()
???????????
??
<canvas>
?HTML5??????????????????????????????<canvas>
?????????????????????
canvas-????
?<canvas>
??????????drawImage()
??????????
const img = new Image();img.src = 'https://via.placeholder.com/150';ctx.drawImage(img, 10, 10, 100, 100);
canvas-??
??????????????????????????????
canvas-????
<canvas>
?????????????fillText()
????????????
ctx.fillStyle = 'black';ctx.font = '20px Arial';ctx.fillText('??', 50, 50);
canvas-????
<canvas>
??????????putImageData()
????????????<canvas>
??
canvas-?????
??getPixel()
?setPixel()
???????????????????????????????????????????????API?
canvas-?????
?????????????????????????
const img = new Image();img.src = 'https://via.placeholder.com/150';const canvas = document.getElementById('mosaicCanvas');const ctx = canvas.getContext('2d');img.onload = function() { const mosaicSize = 20; for(let i = 0; i < 10; i++) { for(let j = 0; j < 10; j++) { const x = i * mosaicSize; const y = j * mosaicSize; ctx.drawImage(img, x, y, mosaicSize, mosaicSize); } }};
????
????????????<canvas>
???????????
canvas-??
<canvas>
????????????drawImage()
??????????????<canvas>
??
canvas-???
??canvas
????mousemove
???<canvas>
?????????????????
canvas-?????
?????????????????????????????????
others
<canvas>
????????????????????????????????
??
<canvas>
?HTML5??????????????????????????????<canvas>
?????????????????????
?????
??????HTML5???????????????????????????????
?????????
??????????????????????????????????????
??????attribute
??????attribute??controls
?autoplay
?loop
?????????????
??????property
??????property??volume
?muted
?playbackRate
???????????????
????????
?????????????????play()
?pause()
?volume()
??????????????
????
???????????????????????
???????
????????????????????????????????????
??
<canvas>
????<canvas>
??????????
???????
????????????????????????????????????
???????
??????????????????????????
??
<canvas>
?????????????????????<canvas>
?????????????????????
????
????????????????????????
???
?????????????????????????????????????????????
???canvas???
??<canvas>
????????????????????????
HTML5??????
HTML5????????????<header>
?<footer>
?<section>
????????????
HTML5??????
HTML5????????????????<progress>
?<meter>
?????????????
HTML5??????
HTML5???????????????required
?????????
HTML5????
??<canvas>
?HTML5????????????????????
??
HTML5????????????????????????HTML5??????????????????????
canvas-??
??<canvas>
????????????????????????
canvas-??
????????????????<canvas>
???????????????????????
canvas-??
??<canvas>
?????????????<canvas>
??????????????????
canvas-????
?<canvas>
??????????fillText()
????????????????
canvas-????
??<canvas>
?????API????????????????????????
canvas-?????
??<canvas>
?????API???????????????????????
canvas-?????
????????????????????????????????????????????
????
????????????<canvas>
???????????
canvas-??
??<canvas>
?drawImage()
???????????????<canvas>
???????????
canvas-???
??<canvas>
????mousemove
???<canvas>
?????????????????
canvas-?????
?????????????????????????????????
others
<canvas>
????????????????????????????????
??
<canvas>
?HTML5??????????????????????????????<canvas>
?????????????????????
??
??<canvas>
????mousedown
?mousemove
?mouseup
??????????
???????
????????????????????????????????????
???????
??????????????????????????
??
<canvas>
?????????????????????<canvas>
?????????????????????
????
????????????????????????
???
?????????????????????????????????????????????
???canvas???
??<canvas>
????????????????????????
HTML5??????
HTML5????????????<header>
?<footer>
?<section>
????????????
HTML5??????
HTML5????????????????<progress>
?<meter>
?????????????
HTML5??????
HTML5???????????????required
?????????
HTML5????
??<canvas>
?HTML5????????????????????
??
HTML5????????????????????????HTML5??????????????????????
canvas-??
??<canvas>
????????????????????????
canvas-??
????????????????<canvas>
???????????????????????
canvas-??
??<canvas>
?????????????<canvas>
??????????????????
canvas-????
?<canvas>
??????????fillText()
????????????????
canvas-????
??<canvas>
?????API????????????????????????
canvas-?????
??<canvas>
?????API???????????????????????
canvas-?????
????????????????????????????????????????????
????
????????????<canvas>
???????????
canvas-??
??<canvas>
?drawImage()
???????????????<canvas>
???????????
canvas-???
??<canvas>
????mousemove
???<canvas>
?????????????????
canvas-?????
?????????????????????????????????
others
<canvas>
????????????????????????????????
??
<canvas>
?HTML5??????????????????????????????<canvas>
?????????????????????
发表评论
最新留言
关于作者
