Maison interface Web Tutoriel H5 HTML5 Canvas JS contrôle la caméra sur votre ordinateur ou votre téléphone mobile instance_html5 compétences du didacticiel

HTML5 Canvas JS contrôle la caméra sur votre ordinateur ou votre téléphone mobile instance_html5 compétences du didacticiel

May 16, 2016 pm 03:47 PM
canvas html5 js 摄像头

Les API client sur les appareils mobiles et les ordinateurs de bureau ne sont pas initialement synchronisées. Dans un premier temps, certaines fonctions et API correspondantes seront toujours disponibles sur les appareils mobiles, mais peu à peu, ces API apparaîtront sur les ordinateurs de bureau. L'une de ces technologies d'interface d'application est l'API getUserMedia, qui permet aux développeurs d'applications d'accéder à la caméra de l'utilisateur ou à la caméra intégrée. Laissez-moi vous montrer comment accéder à votre appareil photo via un navigateur et extraire des captures d'écran.

Code HTML

J'ai écrit quelques commentaires dans le code ci-dessous, veuillez lire :

Copiez le code
Le code est le suivant :

<!--
Idéalement, nous devrions d'abord déterminer si
est sur votre appareil Il y a une webcam ou une caméra, mais pour faire simple, nous allons le faire ici
Écrivez des balises HTML au lieu d'utiliser JavaScript pour juger
Générez ensuite dynamiquement ces balises
--->
<video id="video" width="640" height="480" lecture automatique></video>
<id du bouton="snap">Prendre une photo</bouton>
<id de toile="canvas" width="640" height="480"></canvas>

Avant d'écrire les balises ci-dessus, vous devez déterminer si le client de l'utilisateur prend en charge la caméra, mais afin d'éviter des problèmes, ces balises HTML sont écrites directement ici. Il convient de noter que la longueur et la largeur que nous utilisons ici sont de 640 × 480.

Code JavaScript

Comme nous avons écrit le code HTML manuellement, le code js suivant est beaucoup plus simple que vous ne le pensez.

Copier le code
Le code est le suivant :

// Mettre en place les auditeurs d'événements
window.addEventListener("DOMContentLoaded", function() {
// Récupère des éléments, crée des paramètres, etc.
var toile = document.getElementById("canvas"),
contexte = toile.getContext("2d"),
video = document.getElementById("video"),
videoObj = { "vidéo": vrai },
errBack = fonction (erreur) {
console.log("Erreur de capture vidéo : ", error.code);
};
// Mettre en place des auditeurs vidéo
if(navigator.getUserMedia) { // Standard
navigator.getUserMedia(videoObj, function(stream) {
vidéo.src = flux;
vidéo.play();
}, errBack);
} else if(navigator.webkitGetUserMedia) { // WebKit-prefixed
navigator.webkitGetUserMedia(videoObj, function(stream){
video.src = window.webkitURL.createObjectURL(stream);
vidéo.play();
}, errBack);
>
else if(navigator.mozGetUserMedia) { // Avec préfixe Firefox
navigator.mozGetUserMedia(videoObj, function(stream){
video.src = window.URL.createObjectURL(stream);
vidéo.play();
}, errBack);
>
}, faux);

Une fois qu'il est déterminé que le navigateur de l'utilisateur prend en charge getUserMedia, ce qui suit est très simple. Il vous suffit de définir le src de l'élément vidéo sur la connexion vidéo en direct de la caméra de l'utilisateur. C'est tout ce que vous devez faire pour accéder à la caméra à l'aide de votre navigateur !

On peut dire que la fonction de prendre des photos est seulement un peu compliquée. Nous ajoutons un auditeur au bouton et dessinons l'écran vidéo sur le canevas.

Copier le code
Le code est le suivant :

//Déclencher une action photo
document.getElementById("snap")
.addEventListener("clic", function() {
contexte.drawImage(vidéo, 0, 0, 640, 480);
});

Bien sûr, vous pouvez également ajouter des effets de filtre à l'image…

Dans le passé, nous devions utiliser un plug-in tiers pour accéder à la caméra de l'utilisateur depuis le navigateur, ce qui était quelque peu compliqué. Désormais, nous n'avons besoin que de la technologie HTML5 Canvas et de JavaScript, nous pouvons faire fonctionner la caméra de l'utilisateur simplement et rapidement. Non seulement il s'agit d'un accès à l'appareil photo, mais aussi grâce à la puissante technologie de toile HTML5, nous pouvons ajouter divers effets de filtre charmants aux images. Maintenant, prenez une photo de vous avec votre propre appareil photo dans votre navigateur !

Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn

Article chaud

Combien de temps faut-il pour battre Split Fiction?
3 Il y a quelques semaines By DDD
Repo: Comment relancer ses coéquipiers
3 Il y a quelques semaines By 尊渡假赌尊渡假赌尊渡假赌
Hello Kitty Island Adventure: Comment obtenir des graines géantes
3 Il y a quelques semaines By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Crystals d'énergie expliqués et ce qu'ils font (cristal jaune)
1 Il y a quelques semaines By 尊渡假赌尊渡假赌尊渡假赌

Article chaud

Combien de temps faut-il pour battre Split Fiction?
3 Il y a quelques semaines By DDD
Repo: Comment relancer ses coéquipiers
3 Il y a quelques semaines By 尊渡假赌尊渡假赌尊渡假赌
Hello Kitty Island Adventure: Comment obtenir des graines géantes
3 Il y a quelques semaines By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Crystals d'énergie expliqués et ce qu'ils font (cristal jaune)
1 Il y a quelques semaines By 尊渡假赌尊渡假赌尊渡假赌

Tags d'article chaud

Bloc-notes++7.3.1

Bloc-notes++7.3.1

Éditeur de code facile à utiliser et gratuit

SublimeText3 version chinoise

SublimeText3 version chinoise

Version chinoise, très simple à utiliser

Envoyer Studio 13.0.1

Envoyer Studio 13.0.1

Puissant environnement de développement intégré PHP

Dreamweaver CS6

Dreamweaver CS6

Outils de développement Web visuel

SublimeText3 version Mac

SublimeText3 version Mac

Logiciel d'édition de code au niveau de Dieu (SublimeText3)

Tableau imbriqué en HTML Tableau imbriqué en HTML Sep 04, 2024 pm 04:49 PM

Tableau imbriqué en HTML

Bordure de tableau en HTML Bordure de tableau en HTML Sep 04, 2024 pm 04:49 PM

Bordure de tableau en HTML

Marge gauche HTML Marge gauche HTML Sep 04, 2024 pm 04:48 PM

Marge gauche HTML

Disposition du tableau HTML Disposition du tableau HTML Sep 04, 2024 pm 04:54 PM

Disposition du tableau HTML

Déplacer du texte en HTML Déplacer du texte en HTML Sep 04, 2024 pm 04:45 PM

Déplacer du texte en HTML

Liste ordonnée HTML Liste ordonnée HTML Sep 04, 2024 pm 04:43 PM

Liste ordonnée HTML

Bouton HTML onclick Bouton HTML onclick Sep 04, 2024 pm 04:49 PM

Bouton HTML onclick

Espace réservé d'entrée HTML Espace réservé d'entrée HTML Sep 04, 2024 pm 04:54 PM

Espace réservé d'entrée HTML

See all articles