[英]How to draw an arbitrary shape using html canvas?
我正在嘗試在html畫布上繪制類似於圖表的形狀:
0
100 .
.
200 . .
.
300 . .
.
400 . . .
.
500 .................................
我看不到形狀坐標有什么問題:
(0, 500), (0, 400), (100, 400), (200, 300), (300, 200), (400, 100), (400, 500)
HTML / JS:
<html>
<head>
<script type="text/javascript">
function drawSteps(heights) {
var y = 500;
var steps = document.getElementById('steps').getContext('2d');
steps.fillStyle = '#C3EDBD';
steps.beginPath();
steps.moveTo(0, y);
var x = 0;
for (var i = 0; i < heights.length; i++) {
console.log(x.toString() + ', ' + (y - heights[i]).toString());
steps.lineTo(x, y - heights[i]);
x += 100;
}
steps.lineTo(x, 500);
steps.lineTo(0, 500);
steps.closePath();
steps.fill();
}
</script>
</head>
<body>
<canvas id="steps"></canvas>
<script type="text/javascript">
drawSteps([100, 100, 200, 300, 400]);
</script>
</body>
</html>
屏幕上沒有任何內容打印出來,但是畫布占用了300x150px的占位符。
您只需要為畫布定義寬度和高度
<canvas id="steps" width="1000" height="1000"></canvas>
使用CSS這樣做可能更好,但這是針對您問題的快速解決方案
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.