キャンバスを使って動画の一瞬をスクリーンショットで撮影する
2022-01-21 19:43:45
プリアンブル
今回は、canvas.drawImage()を使用してスクリーンショット機能を実装しています。apiがサポートするdom要素や基本パラメータについては、以下のリンクをクリックしてください。 CanvasRenderingContext2D.drawImage()
処理方法
現在の要件は、マルチプレイヤー動画のある瞬間のスクリーンショットで、ネイティブの video タグで直接動画を表示することです。
1. まずvideo要素を取得し、canvasを作成する
Value cannot be null. parameter name: path1
2. スクリーンショットの画素サイズと最適化
devicePixelRatio は、現在のディスプレイデバイスの物理的なピクセル解像度と CSS ピクセル解像度の比率を返し、リアルなビデオシーンの再現を可能にする、公式の
Argument 'sdklocation' is null or empty
3. キャンバスの扱い
// The canvas size stays the same as the image size, no redundancy in the screenshot
canvas.width = video.offsetWidth * ratio;
canvas.height = video.offsetHeight * ratio;
4. キャンバスを生成し、必要な形式に変換します。ここではbase64に変換します。
canvasCtx.drawImage(video, 0, 0, canvas.width, canvas.height)
const imgBase64 = canvas.toDataURL("image/png");
キャンバスを使ってビデオ動画の一瞬のスクリーンショットを撮るというのが今回の記事です、キャンバス動画のスクリーンショットについての詳しい内容はスクリプトハウスの過去記事を検索するか、以下の関連記事を引き続きご覧ください、今後ともスクリプトハウスをより応援していただけると嬉しいです
関連
-
フロントエンドのHtml5でスクリーンショットを共有する方法のサンプルコード
-
HTML5のmeta viewportパラメータの解析
-
html5 pushstateとブラウザリターンイベントのリスニング
-
キャンバスで画像のミラーリングと反転を実現する2つの方法
-
HTML5+CSSでfloatを設定しても、真ん中や間違った行の代わりに移動しない問題
-
HTML5 の数値入力コードで整数値のみを受け付けるようにする
-
アップロード用画像の圧縮にcanvasを使用した例
-
html5 目覚ましアプリミニノート
-
キャンバスの描画は、contain または cover モードで適応され、中央に配置されます。
-
html2 canvasで印刷用の鮮明な画像を生成
最新
-
nginxです。[emerg] 0.0.0.0:80 への bind() に失敗しました (98: アドレスは既に使用中です)
-
htmlページでギリシャ文字を使うには
-
ピュアhtml+cssでの要素読み込み効果
-
純粋なhtml + cssで五輪を実現するサンプルコード
-
ナビゲーションバー・ドロップダウンメニューのHTML+CSSサンプルコード
-
タイピング効果を実現するピュアhtml+css
-
htmlの選択ボックスのプレースホルダー作成に関する質問
-
html css3 伸縮しない 画像表示効果
-
トップナビゲーションバーメニュー作成用HTML+CSS
-
html+css 実装 サイバーパンク風ボタン
おすすめ
-
html+cssでメニューバーのスロードロップダウン効果を実現するコード例
-
html5ジャンプアプレット wx-open-launch-weappは落とし穴に踏み込んだ
-
HTML5レイヤーオーバーレイの実装
-
動画下の自動再生プロパティが無効な場合の解決方法(ミュートプロパティを追加する)。
-
HTML5でオプションのスタイルシートを使ってWebサイトやアプリケーションにダークモードを追加する方法を解説
-
9ボックスグリッドの原則を用いたHTMLページレイアウト
-
iframeのクロスドメインでよく使われるいくつかの方法
-
Html5 webview要素位置決めツールの実装
-
HTML5新フォームコントロールとフォームプロパティのサンプルコード詳細
-
HTML5新タグの互換性 --> <! --<if lt IE 9><!endif--> の2つの方法があります。