使用canvas對(duì)video視頻某一刻截圖功能

前言
本次使用的是canvas.drawImage()實(shí)現(xiàn)截圖功能, 關(guān)于api支持的dom元素、基本參數(shù),可點(diǎn)擊查詢下面連接 CanvasRenderingContext2D.drawImage()
處理過程
我本次的需求是多人視頻中對(duì)某一視頻某一刻的截圖,展示視頻直接用的原生video標(biāo)簽
1、首先獲取video元素和創(chuàng)建canvas
const video = document.getElementById('video'); const canvas = document.createElement("canvas"); const canvasCtx = canvas.getContext("2d")
2、截圖的像素大小及優(yōu)化
devicePixelRatio 能夠返回當(dāng)前顯示設(shè)備的物理像素分辨率與 CSS 像素分辨率的比率,能夠更好還原真實(shí)的視頻場景,具體參考官方
const ratio = window.devicePixelRatio || 1; canvasCtx.scale(ratio, ratio);
3、處理canvas畫布
// canvas大小與圖片大小保持一致,截圖沒有多余 canvas.width = video.offsetWidth * ratio; canvas.height = video.offsetHeight * ratio;
4、生成canvas并轉(zhuǎn)化成自己需要的格式,我這里就直接轉(zhuǎn)成base64了
canvasCtx.drawImage(video, 0, 0, canvas.width, canvas.height) const imgBase64 = canvas.toDataURL("image/png");
到此這篇關(guān)于使用canvas對(duì)video視頻某一刻截圖的文章就介紹到這了,更多相關(guān)canvas視頻截圖內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持腳本之家!
相關(guān)文章
video結(jié)合canvas實(shí)現(xiàn)視頻在線截圖功能
這篇文章主要介紹了video結(jié)合canvas實(shí)現(xiàn)視頻在線截圖功能,非常不錯(cuò),具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2018-06-25canvas與html5實(shí)現(xiàn)視頻截圖功能示例
本篇文章主要介紹了canvas與html5實(shí)現(xiàn)視頻截圖功能示例,非常具有實(shí)用價(jià)值,需要的朋友可以參考下。2016-12-15