canvas繪製憤怒小鳥形象程式碼例項
分享一段程式碼例項,它實現了使用canvas繪製憤怒小鳥形象的功能。
程式碼例項如下:
[HTML] 純文字檢視 複製程式碼<!doctype html> <html> <head> <meta charset="utf-8"> <meta name="author" content="http://www.softwhy.com/" /> <title>螞蟻部落</title> <style type="text/css"> * { margin: 0; padding: 0; } </style> </head> <body> <canvas id="myCanvas" width="1000" height="700"></canvas> </body> <script type="text/javascript"> var ctx = document.getElementById("myCanvas").getContext("2d"); // 頭 ctx.beginPath(); ctx.strokeStyle = "#f61000"; ctx.arc(300, 300, 100, 0, 2 * Math.PI, true); ctx.fillStyle = "#f61000"; ctx.fill(); ctx.stroke(); ctx.beginPath(); ctx.strokeStyle = "#dbbfaa"; ctx.arc(300, 417, 100, 6 / 5 * Math.PI, 9 / 5 * Math.PI, false); ctx.arc(300, 301, 100, 1 / 5 * Math.PI, 4 / 5 * Math.PI, false); ctx.fillStyle = "#dbbfaa"; ctx.fill(); ctx.stroke(); ctx.save(); // 臉上的 黑。 ctx.beginPath(); ctx.strokeStyle = "rgba(127,20,4,0)"; ctx.fillStyle = "rgba(0,0,0,0.4)"; EllipseTwo(ctx, 245, 300, 16, 8); ctx.fill(); ctx.stroke(); // 2 ctx.beginPath(); ctx.strokeStyle = "rgba(127,20,4,0)"; ctx.fillStyle = "rgba(0,0,0,0.4)"; EllipseTwo(ctx, 355, 300, 16, 8); ctx.fill(); ctx.stroke(); // 眼睛 ctx.restore(); ctx.beginPath(); ctx.strokeStyle = "#000"; ctx.fillStyle = "#fff"; ctx.arc(293, 285, 18, 1 / 3 * Math.PI, 5 / 3 * Math.PI, false); ctx.fill(); ctx.stroke(); ctx.beginPath(); ctx.strokeStyle = "#000"; ctx.fillStyle = "#fff"; ctx.arc(307, 285, 18, 2 / 3 * Math.PI, 4 / 3 * Math.PI, true); ctx.fill(); ctx.stroke(); ctx.beginPath(); ctx.strokeStyle = "#000"; ctx.lineWidth = 2 ctx.moveTo(300, 270); ctx.lineTo(300, 300); ctx.stroke(); ctx.beginPath(); ctx.strokeStyle = "#000"; ctx.fillStyle = "#000"; ctx.arc(307, 283, 3, 0, 2 * Math.PI, true); ctx.fill(); ctx.stroke(); ctx.beginPath(); ctx.strokeStyle = "#000"; ctx.fillStyle = "#000"; ctx.arc(289, 284, 3, 0, 2 * Math.PI, true); ctx.fill(); ctx.stroke(); ctx.save(); // 眉毛 ctx.beginPath(); ctx.strokeStyle = "#000"; ctx.fillStyle = "#000"; ctx.lineWidth = 2 ctx.moveTo(268, 258); ctx.lineTo(263, 268); ctx.lineTo(300, 275); ctx.lineTo(330, 270); ctx.lineTo(328, 260); ctx.lineTo(300, 268); ctx.closePath(); ctx.fill(); ctx.stroke(); ctx.save(); // 嘴 ctx.beginPath(); ctx.strokeStyle = "#000"; ctx.lineWidth = 2; ctx.moveTo(280, 310) ctx.lineTo(300, 290) ctx.lineTo(330, 314) ctx.closePath(); ctx.moveTo(283, 310) ctx.lineTo(300, 328) ctx.lineTo(325, 314) ctx.closePath(); ctx.fillStyle = "#f8931d"; ctx.fill(); ctx.stroke(); ctx.restore(); //橢圓 function EllipseTwo(context, x, y, a, b) { context.save(); var r = (a > b) ? a : b; var ratioX = a / r; var ratioY = b / r; context.scale(ratioX, ratioY); context.beginPath(); context.arc(x / ratioX, y / ratioY, r, 0, 2 * Math.PI, false); context.closePath(); context.restore(); context.stroke(); } </script> </html>
相關文章
- canvas繪製扇形程式碼例項Canvas
- canvas繪製網格程式碼例項Canvas
- canvas繪製機器貓程式碼例項Canvas
- canvas繪製拋物線程式碼例項Canvas線程
- canvas繪製箭頭效果程式碼例項Canvas
- canvas繪製圓形鐘錶程式碼例項Canvas
- “過氣網紅”憤怒的小鳥
- 《憤怒的小鳥》成功了,《陰陽師》們能複製嗎?
- 憤怒的小鳥太空版下載遊戲遊戲
- canvas繪製卡通人臉形象效果Canvas
- Rovio怎樣讓“憤怒的小鳥”重新起飛?
- 「Macos最新」憤怒的小鳥重製版Angry Birds Reloaded for Mac 中文版Mac
- css繪製圓形程式碼例項CSS
- P2831 [NOIP2016 提高組] 憤怒的小鳥
- 例項QT程式 —— Qt自繪製小時鐘QT
- SVG拖動繪製矩形程式碼例項SVG
- CSS3卡通形象程式碼例項CSSS3
- 《憤怒的小鳥2》大電影:Rovio給自己的“毒奶”
- 小程式canvas居中剪裁繪製圖片Canvas
- 把憤怒小鳥做成三消的MYBO新作《花兒愛消除》曝光
- canvas刮刮樂程式碼例項Canvas
- canvas載入效果程式碼例項Canvas
- 《憤怒的小鳥》是如何從萬人追捧到無人問津的?
- canvas原型鐘錶效果程式碼例項Canvas原型
- canvas氣泡上浮效果程式碼例項Canvas
- 多年之後,《憤怒的小鳥》也活成了自己曾討厭的樣子
- 從萬人追捧到被人遺忘,《憤怒的小鳥》經歷了什麼?
- 微信小程式 canvas圓角矩形的繪製微信小程式Canvas
- CSS3繪製太極圖程式碼例項詳解CSSS3
- canvas translate()、scale()和rotate()方法程式碼例項Canvas
- 小程式利用Canvas繪製圖片和豎排文字Canvas
- UML類圖繪製例項
- 《我的世界》、《憤怒的小鳥》紛紛入局,AR 手遊迎來大爆發
- E-R圖繪製例項
- 資料流圖繪製例項
- Python例項:僅繪製圖例而不繪製實際的圖形Python
- canvas 繪製扇形Canvas
- canvas 繪製文字Canvas
- canvas 繪製矩形Canvas