HTML5畫布canvas隨機生成圓形和正方形
<!DOCTYPE html>
<html lang="en">
<head>
<title>TweetShirt</title>
<meta charset="utf-8">
<style type="text/css">
canvas {
border: 1px solid black;
}
</style>
<script>
window.onload = function() {
var button = document.getElementById("previewButton");
button.onclick = previewHandler;
function previewHandler() {
var canvas = document.getElementById("tshirtCanvas");
var context = canvas.getContext("2d");
fillBackgroundColor(canvas,context);
var selectObj = document.getElementById("shape");
var index = selectObj.selectedIndex;
var shape = selectObj[index].value;
//判斷是方形還是圓形
if (shape == "squares") {
for (var squares = 0; squares < 20; squares++){
drawSquare(canvas,context);
}
}else if(shape == "circles"){
for (var circles = 0; circles < 20; circles++){
drawCircle(canvas,context);
}
}
}
function fillBackgroundColor(canvas,context){
var selectObj = document.getElementById("backgroundColor");
var index = selectObj.selectedIndex;
var bgColor = selectObj.options[index].value;
context.fillStyle = bgColor;
context.fillRect(0,0,canvas.width,canvas.height);
}
//封裝方形
function drawSquare(canvas,context){
var w = Math.floor(Math.random() * 40);
var x = Math.floor(Math.random() * canvas.width);
var y = Math.floor(Math.random() * canvas.height);
context.fillStyle = "lightblue";
context.fillRect(x,y,w,w);
}
//封裝圓形
function drawCircle(canvas,context){
var radius = Math.floor(Math.random() * 40);
var x = Math.floor(Math.random() * canvas.width);
var y = Math.floor(Math.random() * canvas.height);
context.beginPath();
context.arc(x,y,radius,0,degreesToRadians(360),true);
context.fillStyle = "lightblue";
context.fill();
}
function degreesToRadians(degrees){
return (degrees * Math.PI)/180;
}
}
</script>
</head>
<body>
<canvas id="tshirtCanvas" width="600" height="200">
<p>Please update your brower to use TweetShirt</p>
</canvas>
<form>
<p>
<label for="backgroundColor">Select background color:</label>
<select id="backgroundColor">
<option value="white" selected="selected">White</option>
<option value="black">Black</option>
</select>
</p>
<p>
<label for="shape">Circles or squares?</label>
<select id="shape">
<option value="none" selected="selected">Neither</option>
<option value="circles">Circles</option>
<option value="squares">squares</option>
</select>
</p>
<p>
<input type="button" name="previewButton" id="previewButton" value="Preview">
</p>
</form>
</body>
</html>
相關文章
- html5中canvas元素建立畫布介紹HTMLCanvas
- canvas 繪製圓形Canvas
- 瞭解canvas畫布Canvas
- 使用 HTML5 Canvas 實現圓形圖片裁剪並上傳HTMLCanvas
- canvas圓形時鐘效果Canvas
- Vue canvas繪製圓形進度條動畫載入VueCanvas動畫
- Tkinter (03) 畫布部件 CanvasCanvas
- WebAssembly Demo之Canvas中隨機運動圓球WebCanvas隨機
- canvas簡單的畫布動畫 - KaiqisanCanvas動畫AI
- HTML5畫布-小球碰撞HTML
- CSS和canvas標籤設定畫布尺寸區別CSSCanvas
- HTML5怎樣建立畫布?HTML
- 使用canvas繪製圓形進度條Canvas
- Linux Shell 生成隨機數和隨機字串Linux隨機字串
- 使用canvas繪製圓弧動畫Canvas動畫
- 請使用canvas畫一個橢圓Canvas
- 畫影圖形: SVG & Canvas 圖形對比SVGCanvas
- canvas預設畫布的尺寸是多大?怎樣設定才能不會變形?Canvas
- canvas畫布基本知識點總結Canvas
- 如何抓取canvas畫布中的圖片Canvas
- 用HTML5的canvas畫太陽系HTMLCanvas
- CSS 與 canvas 屬性設定畫布尺寸CSSCanvas
- CSS與canvas屬性設定畫布尺寸CSSCanvas
- canvas繪製圓形框效果不填充內部Canvas
- canvas繪製圓形鐘錶程式碼例項Canvas
- Html5 Canvas動畫基礎(碰撞檢測)HTMLCanvas動畫
- 基於 Canvas 的 HTML5 文字動畫特效CanvasHTML動畫特效
- 超酷!!HTML5 Canvas 水流樣式 Loading 動畫HTMLCanvas動畫
- 基於 GD 庫生成圓形頭像
- Android Reveal圓形Activity轉場動畫Android動畫
- css設定canvas畫布尺寸與width和height設定的區別CSSCanvas
- Flutter實現圓形波浪進度球【canvas+animation】FlutterCanvas
- canvas簡單動畫案例(圓圈閃爍漸變動畫)Canvas動畫
- python生成隨機數、隨機字串Python隨機字串
- 基於 HTML5 Canvas 實現文字動畫特效HTMLCanvas動畫特效
- HTML5 Canvas 超逼真煙花綻放動畫HTMLCanvas動畫
- HTML5畫布如何設定線的樣式?HTML
- canvas學習筆記-2d畫布基礎Canvas筆記
- 微信頭像生成圓形邀請卡