Javascript通過編寫代碼輸出logo可以給我們網(wǎng)站或者應(yīng)用帶來獨(dú)特的個(gè)性和風(fēng)格,為用戶帶來更好的體驗(yàn)感。下面我們通過幾個(gè)例子來展示如何通過javascript輸出logo。
我們先從一個(gè)簡(jiǎn)單的輸出開始。在HTML文檔中嵌入以下代碼:
<canvas id="myCanvas" width="200" height="200"></canvas>
然后在Javascript中添加以下代碼:
var c = document.getElementById("myCanvas"); var ctx = c.getContext("2d"); ctx.beginPath(); ctx.arc(100, 100, 50, 0, 2 * Math.PI); ctx.stroke();
執(zhí)行這段代碼后,我們就可以看到一個(gè)簡(jiǎn)單的圓形logo。
接下來讓我們輸出一個(gè)比較具有特色的logo。我們還是通過canvas來完成,這次我們畫一個(gè)五角星。在HTML文檔中添加以下代碼:
<canvas id="myCanvas" width="200" height="200"></canvas>
接著在Javascript中添加以下代碼:
var canvas = document.getElementById("myCanvas"); var ctx = canvas.getContext("2d"); ctx.beginPath(); ctx.moveTo(100, 50); ctx.lineTo(140, 150); ctx.lineTo(60, 75); ctx.lineTo(140, 75); ctx.lineTo(60, 150); ctx.closePath(); ctx.fillStyle = "yellow"; ctx.fill();
上面的代碼我們可以看到,我們用ctx.beginPath()函數(shù)開啟新的路徑,接著我們用ctx.moveTo(x, y)函數(shù)將畫筆移動(dòng)到一個(gè)坐標(biāo)位置,再通過ctx.lineTo(x, y)函數(shù)選定并連接另外一個(gè)坐標(biāo)位置。這里注意,我們畫的是一個(gè)封閉的多邊形,所以需要用ctx.closePath()來閉合路徑,最后通過fillStyle來定制顏色。
如果您覺得只有一個(gè)五角星還不太夠,請(qǐng)接著看下面這個(gè)例子。
接下來,我們要輸出一個(gè)旋轉(zhuǎn)的五角星。在HTML文檔中嵌入以下代碼:
<canvas id="myCanvas" width="200" height="200"></canvas>
然后,在Javascript中添加以下代碼:
var canvas = document.getElementById("myCanvas"); var ctx = canvas.getContext("2d"); ctx.translate(100, 100); var angle = Math.PI / 5; ctx.beginPath(); for (var i = 0; i < 5; i++) { ctx.lineTo(Math.cos(angle * i) * 50, Math.sin(angle * i) * 50); ctx.lineTo(Math.cos(angle * i + angle / 2) * 25, Math.sin(angle * i + angle / 2) * 25); } ctx.closePath(); ctx.fillStyle = "yellow"; ctx.fill();
這里我們用到了ctx.translate()函數(shù)來移動(dòng)畫布的原點(diǎn),接著用for循環(huán)來畫五個(gè)連續(xù)的線段,最后用與前面例子相同的方法closePath()和fillStyle()來完成填充動(dòng)作。運(yùn)行后可以得到一個(gè)精美的五角星。
總結(jié):我們通過以上三個(gè)例子,可以看到通過javascript輸出logo的方式非常豐富多彩,對(duì)于開發(fā)者來說,經(jīng)常嘗試不同方式輸出logo有助于提升編寫代碼的能力和審美水平,還可以讓我們的作品更具個(gè)性和特色。