canvas繪製機器貓程式碼例項
分享一段程式碼例項,它利用canvas實現了繪製機器貓的效果。
程式碼例項如下:
[HTML] 純文字檢視 複製程式碼執行程式碼<!doctype html> <html> <head> <meta charset="utf-8"> <meta name="author" content="http://www.softwhy.com/" /> <title>螞蟻部落</title> </head> <body> <canvas id="mycanvas" width="500" height="600"></canvas> </body> <script> var mycanvas = document.getElementById('mycanvas'); var f = mycanvas.getContext('2d'); var mycanvas = document.getElementById('mycanvas'); var context = mycanvas.getContext('2d'); context.beginPath(); context.fillStyle = 'blue'; context.arc(200, 175, 135, 45 * Math.PI / 180, 135 * Math.PI / 180, true); context.closePath(); context.fill(); context.stroke(); context.beginPath(); context.fillStyle = 'white'; context.arc(200, 200, 110, 40 * Math.PI / 180, 140 * Math.PI / 180, true); context.fill(); context.stroke(); context.beginPath(); context.lineWidth = 2; context.fillStyle = 'white'; context.moveTo(200, 100); context.bezierCurveTo(210, 40, 140, 40, 150, 100); context.lineTo(150, 100); context.bezierCurveTo(160, 130, 190, 130, 200, 100); context.closePath(); context.fill(); context.stroke(); // 左 context.beginPath(); context.moveTo(165, 80); context.quadraticCurveTo(187, 75, 195, 95); context.stroke(); context.beginPath(); context.moveTo(160, 100); context.quadraticCurveTo(175, 85, 195, 95); context.stroke(); context.beginPath(); context.fillStyle = 'white'; context.moveTo(200, 100); context.bezierCurveTo(190, 40, 260, 40, 250, 100); context.lineTo(250, 100); context.bezierCurveTo(240, 130, 210, 130, 200, 100); context.closePath(); context.fill(); context.stroke(); // 右 context.beginPath(); context.save(); context.scale(1, 2); context.translate(0, -50); context.arc(214, 95, 10, 0, 2 * Math.PI); context.fillStyle = 'black'; context.fill(); context.closePath(); context.restore(); context.stroke() context.beginPath(); context.fillStyle = 'white'; context.arc(211, 95, 7, 0, 2 * Math.PI); context.fill(); context.stroke(); // 鼻子 context.beginPath(); context.fillStyle = 'red'; context.lineWidth = 2; context.arc(200, 150, 20, 0, 2 * Math.PI); context.fill(); context.stroke(); context.beginPath(); context.moveTo(200, 170); context.quadraticCurveTo(205, 190, 200, 240); context.stroke(); // 嘴 context.beginPath(); context.moveTo(120, 205); context.bezierCurveTo(160, 250, 240, 250, 280, 205); context.stroke(); // 脖子 context.beginPath(); context.strokeStyle = 'red'; context.lineWidth = 10; context.lineCap = 'round'; context.moveTo(100, 270); context.lineTo(300, 270); context.stroke(); // 胳膊 context.beginPath(); context.strokeStyle = 'black'; context.lineWidth = 2; context.moveTo(110, 275); context.fillStyle = 'blue'; context.quadraticCurveTo(50, 300, 98, 380); // context.beginPath(); context.lineTo(105, 330); context.quadraticCurveTo(90, 400, 105, 450); // context.stroke(); // context.beginPath(); context.lineTo(105, 450); context.quadraticCurveTo(150, 480, 200, 450); context.lineTo(200, 450); context.quadraticCurveTo(255, 480, 295, 450); context.lineTo(295, 450); context.quadraticCurveTo(310, 400, 295, 330); context.lineTo(302, 380); context.quadraticCurveTo(350, 300, 290, 275); context.fillStyle = 'blue'; context.closePath(); context.fill(); context.stroke(); // 肚子 context.beginPath(); context.strokeStyle = 'black'; context.fillStyle = 'white'; context.lineWidth = 2; context.moveTo(140, 275); context.bezierCurveTo(50, 440, 350, 440, 260, 275); context.fill(); context.stroke(); // 肚兜 context.beginPath(); context.arc(200, 330, 50, 0, Math.PI, false); context.closePath(); context.stroke(); //鈴鐺 context.beginPath(); context.fillStyle = 'gold'; context.strokeStyle = 'black'; context.lineWidth = 2; context.arc(200, 295, 20, 0, 2 * Math.PI); context.fill(); context.stroke(); context.beginPath(); context.lineWidth = 2; context.rect(181, 288, 38, 5); context.stroke(); context.beginPath(); context.arc(200, 300, 7, 0, 2 * Math.PI); context.stroke(); // 鞋 context.beginPath(); context.moveTo(105, 450); context.bezierCurveTo(40, 490, 150, 500, 195, 480); context.stroke(); context.beginPath(); context.moveTo(295, 450); context.bezierCurveTo(350, 490, 255, 500, 195, 480); context.stroke(); // 腳縫 context.beginPath(); context.moveTo(200, 450); context.quadraticCurveTo(200, 465, 195, 480); context.stroke(); // 腿縫 context.beginPath(); context.moveTo(200, 410); context.quadraticCurveTo(205, 430, 200, 450); context.stroke(); // 鬍子 context.beginPath(); context.moveTo(90, 140); context.lineTo(160, 160); context.stroke(); context.beginPath(); context.moveTo(80, 170); context.lineTo(160, 175); context.stroke(); context.beginPath(); context.moveTo(80, 195); context.lineTo(160, 190); context.stroke(); context.beginPath(); context.moveTo(240, 175); context.lineTo(320, 170); context.stroke(); context.beginPath(); context.moveTo(240, 160); context.lineTo(320, 150); context.stroke(); context.beginPath(); context.moveTo(240, 190); context.lineTo(320, 195); context.stroke(); </script> </html>
相關文章
- canvas繪製扇形程式碼例項Canvas
- canvas繪製網格程式碼例項Canvas
- canvas繪製拋物線程式碼例項Canvas線程
- canvas繪製箭頭效果程式碼例項Canvas
- canvas繪製圓形鐘錶程式碼例項Canvas
- css繪製圓形程式碼例項CSS
- SVG拖動繪製矩形程式碼例項SVG
- div+css3程式碼繪製機器貓、哆啦A夢藍胖子CSSS3
- canvas刮刮樂程式碼例項Canvas
- canvas載入效果程式碼例項Canvas
- canvas原型鐘錶效果程式碼例項Canvas原型
- canvas氣泡上浮效果程式碼例項Canvas
- CSS3繪製太極圖程式碼例項詳解CSSS3
- canvas translate()、scale()和rotate()方法程式碼例項Canvas
- UML類圖繪製例項
- 例項QT程式 —— Qt自繪製小時鐘QT
- 純div+css3程式碼繪製kitty貓CSSS3
- E-R圖繪製例項
- 資料流圖繪製例項
- Python例項:僅繪製圖例而不繪製實際的圖形Python
- canvas 繪製扇形Canvas
- canvas 繪製文字Canvas
- canvas 繪製矩形Canvas
- 小程式canvas居中剪裁繪製圖片Canvas
- canvas 繪製圓形Canvas
- canvas繪製流星效果Canvas
- canvas繪製直線Canvas
- canvas lineWidth 繪製原理Canvas
- canvas lineWidth繪製原理Canvas
- canvas 繪製線條Canvas
- 原生Canvas繪製餅圖,我是不是被騙程式碼了Canvas
- canvas 繪製圓角矩形Canvas
- canvas 繪製雙線技巧Canvas
- canvas繪製矩形框Canvas
- canvas繪製風車效果Canvas
- canvas 繪製矩形缺角Canvas
- canvas 繪製文字詳解Canvas
- canvas繪製笑臉表情Canvas