調用電腦攝像頭拍照及下載

代碼:

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>將canvas獲取的圖片下載到本地</title>
</head>
<body>
<style>
    video, canvas {
        outline: 1px solid red;
    }
</style>
<p>這裏通過拍照來獲取你的圖像,然後將其下載到本地。如果開啓攝像頭時有提示,請點擊允許</p>
<button onclick="startVideo()">點擊啓用攝像頭</button>
<button onclick="Shoot()">點擊拍照</button>
<button onclick="download()">點擊下載</button>
<br>
<p>左側是攝像頭當前拍攝中區域,右側圖片是已拍攝的圖像,下載的內容是右邊已拍攝的圖像</p>
<video width="640" height="480" autoplay></video>
<canvas width="640" height="480"></canvas>

<script>
    var video = document.querySelector('video');
    var canvas = document.querySelector('canvas');

    //啓用攝像頭,開始拍攝
    function startVideo() {
        // video捕獲攝像頭畫面
        navigator.mediaDevices.getUserMedia({
            video: true,
        }).then(success).catch(error)

        function success(stream) {
            video.src = window.webkitURL.createObjectURL(stream);
            video.play();
        }

        function error(err) {
            alert('video error: ' + err)
        }
    }


    function Shoot() {
        var context = canvas.getContext('2d');
        //把當前視頻幀內容渲染到畫布上
        context.drawImage(self.video, 0, 0, 640, 480);
    }

    //將圖片下載到本地
    function download() {
        var dom = document.createElement("a");
        dom.href = this.canvas.toDataURL("image/png");
        dom.download = new Date().getTime() + ".png";
        dom.click();
    }
</script>

</body>
</html>

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