iT邦幫忙

2019 iT 邦幫忙鐵人賽

DAY 28
1
自我挑戰組

三十天用Vue.jS打造一個網路商城系列 第 28

Day28:練習弄個canvas(2)——圓形和正方形

閱讀前,建議可以參考Day1:閱讀指南&為何選擇這個題目?

▌挑戰簡介

  • 題目:三十天用Vue.jS打造一個網路商城

  • 挑戰內容:以六角學院的「Vue出一個電商網站」&大陸慕課網(IMOOC)的「Vue2.0+Node.js+MongoDB 全棧打造商城系統」(主要學架設MongoDB)作為主要教材嘗試在30天內打造網路商城

  • 本篇性質:嗚嗚期中考還沒結束,週末又超忙,只能先抽時間研究ㄧ些小東西

▌畫出正方形

▌快速畫法

使用

  • fillRect(x,y,w,h) //填滿正方形
  • strokeRect(x,y,w,h) //描出正方形

(x,y)表示左上角的原點,h,w表示高寬

//畫出紅色的正方形
var ctx2 = canvas.getContext("2d")
ctx2.fillStyle = "red";
ctx2.fillRect(100, 100, 100, 100)

▌自由路徑畫法

  • 不只正方形,任何圖型都可以畫
//畫出正方形
var ctx = canvas.getContext("2d")
        canvas.width = window.innerWidth
        canvas.height = window.innerHeight
        ctx.beginPath()
        ctx.moveTo(0, 0)
        ctx.lineTo(100, 0)
        ctx.lineTo(100, 100)
        ctx.lineTo(0, 100)
        ctx.closePath()   // 或是ctx.lineTo(0, 0)
        ctx.strokeStyle = "red"
        ctx.stroke()

https://ithelp.ithome.com.tw/upload/images/20181110/20112011XzNf5AsrPU.png

左邊的是自由路徑畫的,右邊是快速畫的。

▌畫出圓形

arc(x, y, r, start Angle,end Angle)

1 * Math.PI 表示180度`

ctx.arc(100, 75, 50, 0, 1 * Math.PI);
ctx.fillStyle = "red";
ctx.fill();

https://ithelp.ithome.com.tw/upload/images/20181110/20112011DpA4hlMINQ.png


上一篇
Day27:練習弄個canvas
下一篇
Day29:練習弄個canvas(3)——動畫畫圓
系列文
三十天用Vue.jS打造一個網路商城30
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言