createPattern 設置video填充 搞不起來?
????????????//設置video填充
????????????var?video?=?document.createElement("video");
????????????video.src?=?"movie.ogg";
????????????video.autoplay?=?"autoplay";
????????????var?pattern=?context.createPattern(video,?"repeat");
????????????context.fillStyle?=?pattern;
????????????context.fillRect(0,?0,?windowWidth,?windowHeight);
2017-10-20
var?context?=?canvas.getContext('2d'); var?video?=?document.createElement('video'); video.src?=?'吔屎吧梁非凡_x264壓制.mp4'; video.preload?=?'preload'; video.autoplay?=?'autoplay'; video.height?=?context.canvas.height; video.width?=?context.canvas.width; setInterval(function?(){ ??var?pattern?=?context.createPattern(video,?'no-repeat'); ???context.fillStyle?=?pattern; ???context.fillRect(0,?0,?context.canvas.width,?context.canvas.height); ???pattern?=?null; ???//drowStar...這里執行其他繪畫步驟 },100);測試可用,setInterval的時間間隔盡量調大,不然電腦風扇會狂飆...
2015-12-27
對不起,之前的理解有點問題,createPattern可以接受第一個參數是HTMLVideoElement也就是你的
對象,為何不顯示視頻,是因為你的程序只繪制了一次畫板,當然不會有動態效果。
至于video對象記錄的當前圖像幀數據,createPattern是如何獲取的,已不在這個問題的范圍內了??梢圆榭磆tml5 video元素實現,我也是一知半解,可以問問老師。
2015-12-27
這樣寫肯定不行的,我覺得第一個參數應該是一幀圖像的數據,查了下文檔
createPattern 第一個參數是CanvasImageSource數據類型?
typeof (HTMLImageElement or?HTMLVideoElement or?HTMLCanvasElement)CanvasImageSource;
具體HTMLVideoElement數據類型我也沒有了解。
把你的代碼這樣改可行:
//設置video填充 var?video?=?document.createElement("video"); video.src?=?"movie.ogg"; video.autoplay?=?"autoplay"; setInterval(function(){ ????var?pattern=?context.createPattern(video,?"no-repeat"); ????context.fillStyle?=?pattern; ????context.fillRect(0,?0,?windowWidth,?windowHeight); ????}, ????16);