-1
A
回答
1
繪圖過程
通過去除紅色區域使得alpha通道出來的而不是背景圖像離線準備,然後用它像這樣:
- 畫出視頻與變換帆布施加緊密匹配形狀加上一點重疊
- 在視頻頂部繪製背景(或第一次繪製後的部分)。這會掩蓋不完美的視頻邊緣。
轉型
離線過程:
- 地塊(現在)阿爾法環境,讓您有座標,可以是三角形或四邊形的點。注:畫布僅支持仿射變換(2D /平行四邊形),所以triangle has to be used。對於CSS,您可以使用3D transforms with basis in a quadrilateral shape。
- 規格化的值
在動作:
- 量表畫布和所希望的大小
- 應用變換,繪製視頻的歸一化值,繪製背景疊加在視頻 的頂
而且由於大多數視頻最多是每秒30幀,因此您還可以將繪圖循環調整爲一半以便爲其他人留下更多資源(使用requestAnimationFrame()
與toggle flag)。
替代做法:
準備一個視頻的一切設置爲你想要的。它應該壓縮得很好,因爲周圍的區域不會改變(使用長的關鍵幀間隔),在這種情況下背景不包含太多的細節,因爲低景深也是有幫助的。
1
......它不能與本地HTML5畫布轉換完成。
您正在嘗試將顯示Canvas內容(==您的視頻)轉換爲非平行四邊形 - 這對於原生Canvas轉換是不可能的。畫布只能重新塑造成平行四邊形。
但是...
可以扭曲畫布接近你想要的顯示。
可以與天然帆布進行金平行四邊形此圖像中變換
實施例的代碼演示:
var canvas=document.getElementById("canvas");
var ctx=canvas.getContext("2d");
var cw=canvas.width;
var ch=canvas.height;
var angle=-Math.PI*.06;
var img=new Image();
img.onload=start;
img.src="https://dl.dropboxusercontent.com/u/139992952/multple/billboard1.jpg";
function start(){
cw=canvas.width=img.width;
ch=canvas.height=img.height;
ctx.drawImage(img,0,0);
ctx.transform(1,Math.tan(angle),0,1,0,0);
ctx.strokeStyle='gold';
ctx.lineWidth=4;
ctx.strokeRect(333,135,275,150);
}
<canvas id="canvas" width=300 height=300></canvas>
相關問題
- 1. HTML5視頻和畫布
- 2. 畫布和視頻 - HTML5
- 3. HTML5視頻畫布
- 4. 從html5畫布到視頻
- 5. 旋轉HTML5視頻和保存畫布
- 6. Mozilla的HTML5視頻和畫布問題
- 7. html5畫布上的多個視頻?
- 8. HTML5 drawimage從視頻到畫布
- 9. 允許從html5畫布下載視頻
- 10. 在HTML5畫布上繪製視頻
- 11. 容器(畫布)通過HTML5視頻
- 12. HTML5實時視頻畫布形狀
- 13. 響應式HTML5視頻+畫布
- 14. HTML5畫布和drawImage
- 15. HTML5畫布:透視文字
- 16. HTML5視頻和HTML5樣板
- 17. Opera和HTML5視頻
- 18. JavaScript的視頻畫布
- 19. 是否需要使用2畫布進行html5視頻處理?
- 20. 將隱藏的HTML5視頻複製到畫布
- 21. HTML5:手動「打」畫布裏面的視頻,在IOS的Safari
- 22. 呈現HTML5視頻到畫布正在壓縮圖像
- 23. 在HTML5畫布上繪製形狀...與視頻
- 24. HTML5:在帶有控件的視頻上放置畫布
- 25. 將HTML5畫布序列轉換爲視頻文件
- 26. 在html5畫布上顯示視頻並拖放並拖放
- 27. 播放後從畫布上刪除視頻 - HTML5
- 28. html5視頻將黑框(空)繪製到畫布
- 29. Html5畫布動畫
- 30. HTML5畫布和縮放
好的,是不是有其他方法?我試圖讓視頻形狀適合所需的幀...並調整窗口大小改變時的自動調整(就像我已經與幀管理)。使用CSS管理視頻,但窗口大小發生變化時不會改變高度。感謝壽。 –
通過將視頻圖像切片成許多垂直切片,然後將它們拉伸以適應廣告牌,可以「僞造」非平行歪斜。但是,以每秒24-30幀的速度進行切片和拉伸將導致除最快速設備之外的所有設備抖動。 – markE
我該如何實現這一目標? –