HTMLでカメラを読み込む方法

HTMLでカメラを読み込む方法

効果図: 全体的な効果:

ビデオ読み込み中:


写真:

ステップ1: HTML要素を作成する

まず、HTML5 ドキュメントを作成する必要があります。

<!doctypehtml>
<html>
<ヘッド>
<メタ文字セット="utf-8">
<title>無題のドキュメント</title>
</head>

<本文>
</本文>
</html>

次に、 <body></body>内に次のコードを挿入します。

<video id="video" width="640" height="480" 自動再生></video>
<button id="snap">スクリーンショット</button>
<キャンバスid="キャンバス" 幅="640" 高さ="480"></キャンバス>

ステップ2: JavaScriptを作成する

まず、 <head></head>に JavaScript を作成します。

<スクリプト言語="javascript">
	// 要素を取得し、設定を作成するなど。
var ビデオ = document.getElementById('ビデオ');

// カメラにアクセスします!
navigator.mediaDevices の場合:
    // 今はビデオだけが必要なので、`{ audio: true }` を追加しません
    navigator.mediaDevices.getUserMedia({ video: true }).then(function(stream) {
        //video.src = window.URL.createObjectURL(ストリーム);
        ビデオ.srcObject = ストリーム;
        ビデオを再生します。
    });
}
/* 以下はレガシーコード: getUserMedia 
else if(navigator.getUserMedia) { // 標準
    ナビゲーター.getUserMedia({ビデオ: true}, 関数(ストリーム) {
        video.src = ストリーム;
        ビデオを再生します。
    }, エラーバック);
} else if (navigator.webkitGetUserMedia) { // WebKitプレフィックス付き
    navigator.webkitGetUserMedia({ビデオ: true},関数(ストリーム){
        ビデオストリームを window.webkitURL.createObjectURL に格納します。
        ビデオを再生します。
    }, エラーバック);
} else if (navigator.mozGetUserMedia) { // Mozillaプレフィックス付き
    navigator.mozGetUserMedia({ video: true }, function(stream){
        ビデオ.srcObject = ストリーム;
        ビデオを再生します。
    }, エラーバック);
}
*/
</スクリプト>

次に、作成したHTML要素の後に次のコードを挿入します。

<スクリプト言語="javascript">
	// スナップショットを撮るための要素
var キャンバス = document.getElementById('キャンバス');
var コンテキスト = canvas.getContext('2d');
var ビデオ = document.getElementById('ビデオ');

// 写真撮影をトリガーする
document.getElementById("snap").addEventListener("click", function() {
	context.drawImage(ビデオ, 0, 0, 640, 480);
});
</スクリプト>

これで、この HTML でカメラを開いて写真を撮る機能が完成しました。

これで、HTML でカメラをロードする方法に関するこの記事は終了です。HTML でカメラをロードする関連コンテンツの詳細については、123WORDPRESS.COM の以前の記事を検索するか、次の関連記事を引き続き参照してください。今後とも 123WORDPRESS.COM をよろしくお願いいたします。

<<:  文字列の GBK および GB2312 エンコードとデコードのフロントエンド実装 (概要)

>>:  CSS を解析して画像のテーマカラー機能を抽出する (ヒント)

推薦する

Vueページの画像が表示されない問題の解決方法

新しいバージョンの設定インターフェースを作る際に、vueフレームワークを使用して実装しました。ページ...

Nginx proxy_pass の / スラッシュによって引き起こされた殺人事件の詳細な説明

背景nginx サーバー モジュールは 2 つのサーバーにプロキシする必要があるため、異なるサーバー...

SSH経由でローカルLinux仮想マシンに接続するプロセスを記録する

実験環境:物理マシン Windows 10 x64物理NIC情報IPv4 アドレス: 192.168...

トークンの有効期限が切れたときにページを更新するときに繰り返しプロンプトが表示されないようにする Vue について

トークンの有効期限が切れたら、ページを更新します。ページの読み込み時にバックエンドに複数のリクエスト...

MySQL での r2dbc の使用に関する詳細な理解

導入MySQL は、私たちが日常業務で使用する非常に一般的なデータベースです。MySQL は現在 O...

$remote_addr に基づく nginx フロントエンド配布方法の詳細な説明

要件は次のとおりです。ドメイン名の下に複数のサーバーがあります。現在、特定の地域をテストしています。...

Hadoopカウンターとデータクリーニングの適用

データクリーニング (ETL)コアビジネスの MapReduce プログラムを実行する前に、まずデー...

シンプルな画像ドラッグ効果を実現する js

この記事では、簡単な画像ドラッグ効果を実現するためのjsの具体的なコードを参考までに紹介します。具体...

テーブル編集操作を実現する js+Html

この記事では、テーブルの編集操作を実現するためのjs+Htmlの具体的なコードを参考までに共有します...

HTML外部参照CSSファイルが効果を発揮しない理由の分析と解決

フロントエンドの初心者として、私は数日間フロントエンドをいじってみました。 。今日、私は自分が固く信...

LinuxでのMySQLのインストール手順

1. mysql tar ファイルをダウンロードします。参考: 2. インストールパッケージがあるデ...

エレガントなJSコードの書き方

目次変数意味があり発音しやすい変数名を使用する同じ型の変数には同じ語彙を使用する検索可能な名前を使用...

Linux での i3 ウィンドウ マネージャーの設定と使用に関するチュートリアル

この記事では、Fedora 28 に i3 をインストールして簡単に設定する方法を説明します。 1....

DockerにFastDFSをインストールする方法

画像をプルする docker pull season/fastdfs:1.2トラッカーを開始 doc...