Canvas的默认宽高为宽300px
,高150px
。
(因为边框的原因,宽高都多了2)
先画一条简单的线:
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<meta http-equiv="X-UA-Compatible" content="ie=edge">
<style>
.canvas{
border: 1px solid red;
}
</style>
<title>Document</title>
</head>
<body>
<canvas id='myCanvas' class="canvas"></canvas>
<script>
const myCanvas = document.getElementById('myCanvas');
const ctx = myCanvas.getContext('2d');
ctx.moveTo(0, 0);
ctx.lineTo(100, 100);
ctx.stroke();
</script>
</body>
</html>
如果想修改画布的宽高可以这样做:<canvas id='myCanvas' class="canvas" width='100px' height="100px"></canvas>
不过一直以来,我们都是在CSS中修改宽高,如果在CSS中修改宽高会怎么样呢?
这就是修改后的结果,可以看到图像变形了,这是为什么呢?
分别输出画布的高和宽,发现它的宽高并没有发生改变。
实际上,画布的宽高确实没有变化,先是在画布上画出了直线,然后再将画布缩放到在CSS中制定的宽高值。