私はhtml5ページから画像を取得する多くの方法を読みました。自分のニーズに最適なものはまだわかりません。
少なくとも3つのソリューションがあります。
<input type="file" accept="image/*;capture=camera">
_Navigator.getUserMedia()
(非推奨のようです)MediaDevices.getUserMedia()
(実験的なようです)とにかく、カメラをページ_(w/ getUserMedia)
_に埋め込む例がたくさんあるので、最初の方法だけに依存できるかどうかわかりません。
WebRTC getUserMedia APIを使用すると、Safari以外のすべての最新ブラウザーがカバーされます: http://caniuse.com/#feat=stream
こちら は、getUserMediaを使用して静止画を撮るページの例です(コードを説明する ページ へのリンク付き)。ほとんどのgetUserMediaデモでは、可視のキャンバス領域にビデオストリームが表示されますが、これは必須ではありません。可視キャンバスにビデオストリームを表示せずに、getUserMediaを使用して画像をキャプチャできます。
残念ながら、AppleはWebRTC APIを採用するのが遅いため、ファイル入力タグは、Cordovaのようなものを使用するつもりがない限り、そこに期待できる最高のものだと思います。 こちら は、ファイル入力タグの使用方法の説明です。
Media Capture API は推奨候補です。つまり、標準化の段階にありますが、現在のW3C推奨を実装しているブラウザー( inputタグの裸のキャプチャ属性)。 <input type="file" accept="image/*">
スタイルは現在、モバイルブラウザでのみサポートされているようです。
要約すると、近い将来に幅広いブラウザのサポートが必要な場合は、AppleがWebRTC APIのサポートを開始するまで、または他のデスクトップブラウザがMedia Captureのサポートを開始するまで、両方の方法をサポートする必要があります。 API(または現在モバイルブラウザーでサポートされているキャプチャ属性を持つバリアント)。