2013-05-15 94 views
2

我看到您無法拉伸視頻以適合窗口大小。它保持縱橫比。畫布和視頻 - HTML5

我可以通過畫布播放視頻,不能用畫布做它?帆布伸展到適合窗戶的位置?

這似乎是合乎邏輯的是它的工作

+0

如果你拉伸它而失去長寬比會顯得扭曲,你爲什麼要這麼做? – Neil

+0

是的,除了重點之外。我們有標牌​​解決方案,那就是客戶想要的。給人們他們想要的東西.. – Harry

回答

0

可以使用的Video.js API,而不是不過,您的選擇:)

Link to video.js(這是當然的開源)

+0

這個api是否有這個確切的功能?爲了使它適合屏幕而不保持縱橫比例? – Harry

+0

在我分享的網站上有一個使用該API的視頻,可以測試它並看到 –

3

是的,很容易用drawImage的可選參數指定寬度和高度。例如:

var can = document.getElementById('canvas1'); 
var ctx = can.getContext('2d'); 

var myVideo = document.createElement('video'); 
// Video tags usually have more than one source. Not all browsers can play Ogg/Theora 
myVideo.src = "http://upload.wikimedia.org/wikipedia/commons/2/2f/Mockingbird_Spring.ogv"; 
myVideo.autoplay = true; 
myVideo.loop = true; 


setInterval(function() { 
    // video is 1280 x 720 but I am stretching it to 400x20 
    ctx.drawImage(myVideo, 0, 0, 400, 20); 
    // Also draw it normally 
    ctx.drawImage(myVideo, 0, 100, 128, 72); 
}, 10) 

活生生的例子:http://jsfiddle.net/simonsarris/zwwyd/

+1

也可以考慮使用此方法的requestAnimationFrame – Neil

+1

我同意requestAnimationFrame應該在製作中使用,但是如何(或者甚至是)製作它的動畫是setTimeout只是最簡單的方式來證明它的工作原理(不需要填充墊片) –

+1

是的,這是真的夠了,只是覺得Id添加它作爲你的答案是好的。 – Neil