Home  >  Article  >  Backend Development  >  Use PHP to call the camera to take photos in real time and add text watermarks

Use PHP to call the camera to take photos in real time and add text watermarks

PHPz
PHPzOriginal
2023-07-31 19:04:57857browse

Use PHP to call the camera to take photos in real time and add text watermarks

Camera is one of the devices we often use in our lives. With the advancement of technology, we can use PHP language to call the camera to take photos in real time and add text. Watermarking is possible. This article will introduce how to implement this function through PHP, and attach code examples for reference.

First of all, we need to ensure that the camera has been installed on the computer and our PHP environment has been configured. Next, we will use the "video" tag to call the camera and display the footage captured by the camera in real time.

<!DOCTYPE html>
<html>
<head>
    <title>实时拍摄照片并加入文字水印</title>
    <style>
        #video {
            width: 100%;
            height: auto;
        }

        #canvas {
            display: none;
        }
    </style>
</head>
<body>
    <video id="video" autoplay></video>
    <canvas id="canvas"></canvas>

    <script>
        navigator.mediaDevices.getUserMedia({ video: true })
            .then(function(stream) {
                var video = document.getElementById('video');
                video.srcObject = stream;
                video.play();
            })
            .catch(function(err) {
                console.error("无法获取摄像头的画面: ", err);
            });
    </script>
</body>
</html>

In the above code, we obtain the real-time image from the camera by using the getUserMedia method and display it in the video tag. After the preparation is completed, next we will learn how to take photos and add text watermarks.

We can use the canvas tag to capture the current video screen into a picture and add a text watermark to the picture.

<script>
    var video = document.getElementById('video');
    var canvas = document.getElementById('canvas');
    var context = canvas.getContext('2d');

    document.addEventListener('DOMContentLoaded', function() {
        var button = document.createElement('button');
        button.textContent = '拍摄照片';
        button.addEventListener('click', function() {
            context.drawImage(video, 0, 0, canvas.width, canvas.height);

            context.font = 'bold 20px Arial';
            context.fillStyle = 'white';
            context.fillText('水印文字', 10, 40);

            var dataURL = canvas.toDataURL('image/png');
            // 在此处可以将dataURL发送到服务器进行保存或其他操作
        });

        document.body.appendChild(button);
    });
</script>

In the above code, we implement the function of taking photos by creating a button when the page is loaded. When the button is clicked, the video screen will first be drawn into canvas. Then, we add text watermarks to the canvas through the fillText method. Finally, use the toDataURL method to convert the content on the canvas to dataURL, which can be sent to the server for saving or other operations. So far, we have completed the function of calling the camera to take photos in real time and add text watermarks through PHP. You can modify and optimize the code according to actual needs, such as adding more text watermark styles, or saving photos locally, etc. Hope this article can be helpful to you.

The above is the detailed content of Use PHP to call the camera to take photos in real time and add text watermarks. For more information, please follow other related articles on the PHP Chinese website!

Statement:
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn