Canvas的寬與高

Canvas的默認寬高爲寬300px,高150px

[外鏈圖片轉存失敗(img-5WZDzMan-1562057711531)(http://note.youdao.com/yws/res/15679/114F6BB36AF849B9ABB5F7CFC73A1CD4)]

(因爲邊框的原因,寬高都多了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>

[外鏈圖片轉存失敗(img-j1Sh6goj-1562057711535)(http://note.youdao.com/yws/res/15685/67800EEED98D41E68F658AE5684BF4D3)]

如果想修改畫布的寬高可以這樣做:<canvas id='myCanvas' class="canvas" width='100px' height="100px"></canvas>

[外鏈圖片轉存失敗(img-P4yKExew-1562057711543)(http://note.youdao.com/yws/res/15690/25D317581CF14A0FA1EFDE52D4DE0FA8)]

不過一直以來,我們都是在CSS中修改寬高,如果在CSS中修改寬高會怎麼樣呢?

[外鏈圖片轉存失敗(img-BfdXybNC-1562057711554)(http://note.youdao.com/yws/res/15694/C2E50D45D5BD4A8AAE4FCE66848C9156)]

這就是修改後的結果,可以看到圖像變形了,這是爲什麼呢?

[外鏈圖片轉存失敗(img-mSy16kyD-1562057711556)(http://note.youdao.com/yws/res/15698/E21C728D3BC64A138AE443AAECED0E8A)]

[外鏈圖片轉存失敗(img-9UdCWohg-1562057711559)(http://note.youdao.com/yws/res/15701/F412965419E8479DBA7D39E00BF40102)]

分別輸出畫布的高和寬,發現它的寬高並沒有發生改變。

實際上,畫布的寬高確實沒有變化,先是在畫布上畫出了直線,然後再將畫布縮放到在CSS中制定的寬高值。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章