HTML5炫酷體驗:Canvas Video雷人視頻

2021-01-06 IT168

        【IT168 技術】直到現在,仍然不存在一項旨在網頁上顯示視頻的標準。

  今天,大多數視頻是通過插件(比如 Flash)來顯示的。然而,並非所有瀏覽器都擁有同樣的插件。

  HTML5 規定了一種通過 video 元素來包含視頻的標準方法。如:


<video src="movie.ogg" controls="controls">
</video>

  Canvas+Video

  HTML5中引入新的元素canvas,其drawImage 方法允許在 canvas 中插入其他圖像( img 和 canvas 元素) 。

  drawImage函數有三種函數原型:

  drawImage(image, dx, dy)

  drawImage(image, dx, dy, dw, dh)

  drawImage(image, sx, sy, sw, sh, dx, dy, dw, dh)

  第一個參數image可以用HTMLImageElement,HTMLCanvasElement或者HTMLVideoElement作為參數。

  dx和dy是image在canvas中定位的坐標值;dw和dh是image在canvas中即將繪製區域(相對dx和dy坐標的偏移量)的寬度和高度值;

  sx和sy是image所要繪製的起始位置,sw和sh是image所要繪製區域(相對image的sx和sy坐標的偏移量)的寬度和高度值。

  所以這使酷炫播放體驗有了實現的可能。

  理解canvas.translate和canvas.scale

  很多人對於canvas.translate(x,y)的理解有的錯誤,之前一直以原點(0,0)為基準點,作用就是移動原點,默認的原點(0,0)是在屏幕左上角的,你可以通過translate(x,y)把點(x,y)作為原點,就一直以為這個(x,y)就是新的坐標原點。但看一下API就會知道,這種理解是不對的,

  不過API確實容易誤導大家:

view plain
public void translate (float dx, float dy)
Since: API Level 1
Preconcat the current matrix with the specified translation
Parameters
dx  The distance to translate in X
dy  The distance to translate in Y

  其實是原來的原點分別在x軸和y軸偏移多遠的距離,然後以偏移後的位置作為坐標原點。也就是說原來在(100,100),然後translate(1,1)新的坐標原點在(101,101)而不是(1,1)

  canvas.scale:

  canvas.scale提供了放大縮小倒置等功能。比如Y倒置:canvas.scale(1,-1)

    核心代碼

canvas.setAttribute('height', Math.floor(video.height));

   canvas.setAttribute('width', Math.floor(video.width));

  ctx.translate(0, canvas.height );

  ctx.scale(1, -1);

    ctx.globalAlpha = 0.3;

   ctx.drawImage(video, 0, 0, video.width, video.height, 0, -canvas.height/2, canvas.width, canvas.height);

  對於這個包裝類來說,最關鍵還是MyHttpAsyncResult的實現,它是異步模式的核心。

  ASP.NET 異步頁的實現方式

  從上面的異步HttpHandler可以看到,一個處理流程被分成二個階段了。但Page也是一個HttpHandler,不過,Page在處理請求時, 有著更複雜的過程,通常被人們稱為【頁面生命周期】,一個頁面生命周期對應著一個ASPX頁的處理過程。 對於同步頁來說,整個過程從頭到尾連續執行一遍就行了,這比較容易理解。但是對於異步頁來說,它必須要拆分成二個階段, 以下圖片反映了異步頁的頁面生命周期。注意右邊的流程是代表異步頁的。

相關焦點

  • HTML5之Canvas基礎繪圖教程
    id="can" width="400px" height="300px">4</canvas> </body></html> 3、繪製矩形或正方形:id="can" width="400px" height="300px">4</canvas> </body></html>這個很簡單,和上例一樣,就是將fill替換成了stroke,具體詳見上例。
  • 熬夜總結了 「HTML5畫布」 的知識點(共10條)
    響應式布局,它的用戶體驗友好,響應式網站可以根據不同終端,不同尺寸和不同應用環境,自動調整界面布局,展示內容,提供非常好的視覺效果。響應式布局就是一個網站能夠兼容多個終端2.在畫布上定位圖像,並規定圖像的寬度和高度drawImage(image, sourceX, sourceY, sourceWidth, sourceHeight, destX, destY, destWidth, destHeight)// 剪切圖像,並在畫布上定位被剪切的部分參數:參數描述image規定要使用的圖像,畫布或視頻
  • 在線免費視頻嗅探下載——Video-Get
    AZMedien: AZ Medien videosAZMedienPlaylist: AZ Medien playlistsAZMedienShowPlaylist: AZ Medien show playlistsBaiduVideo: 百度視頻bambuserbambuser:channelBandcamp
  • 炫酷實用的10個HTML5動畫應用
    今天要分享的這款CSS3文字動畫特效更加炫酷,它不僅有立體的3D效果,而且文字整體展現出一種浮雕質感的視覺效果,並且伴隨著旋轉。今天我們要繼續為大家介紹一款HTML5音樂播放器,這款播放器的背景是黑色質感狀的,看起來非常炫酷。同時這款黑色的HTML5音樂播放器具備了最基本的音樂播放器功能。
  • ios上強大的視頻後期特效製作軟體,videostar!
    在做了videoleapphotofoxpixaloop庫樂隊vimo的教程後感覺似乎還少了點什麼如果說videoleap和vimo具有強大的視頻編輯能力對標Prphotofox和pixaloop具有豐富的圖片處理能力對標Ps庫樂隊的神奇音頻創作能力對標Au
  • html5換行符元素:元素
    基本概念html5中的<br>元素用於產生一個換行符,它的名稱br正是單詞break的前兩個字母;break本身的含義為「打破、拆分」,在此處就引申為換行的意思。為什麼html5要專門定義一個元素來代表換行符呢?我們平常在辦公軟體中編輯文本的時候,如果要換行不是只要按下回車鍵就可以了嗎?
  • Canvas在超級瑪麗遊戲中的應用
    前言在上一篇文章中, 我們基於 DOM 體系構建了超級瑪麗, 那麼在本篇文章中我們使用 canvas 對整個架構進行升級, 從而提升遊戲的視覺體驗。有需要的同學可以查看源碼學習.線上體驗地址考慮到有些同學對 canvas 不是很熟悉。
  • vidmore video enhancer視頻降噪設置步驟介紹
    Vidmore Video Enhancer能夠兼容多種文件格式,小夥伴們可用它來做視頻的前期處理,軟體有一個畫面降噪功能,能夠增加視頻的清晰度,想知道怎麼做就接著往下看吧。
  • 7款超華麗的HTML5 Canvas文字動畫特效
    1、HTML5 Canvas幻彩火焰文字特效之前我們分享過很多基於HTML5 Canvas的火焰渲染動畫特效,比如這款HTML5 Canvas炫酷的火焰風暴動畫和這個HTML5動感的火焰燃燒動畫特效。這次來分享一款很特別的HTML5文字特效,文字同時是利用火焰來渲染的,並且燃燒的文字火焰還可以隨時改變顏色,讓文字更顯幻彩。
  • 8款HTML5動畫實例
    今天要分享的這款HTML5圖片網格動畫特效就非常炫酷。圖片縮略圖按網格的布局一行行排列,你只需點擊按鈕即可讓這些圖片出現不可思議的動畫效果,值得一看。這個HTML5煙花動畫是基於canvas的,可以說是之前分享那款的升級版,它可以控制煙花上升的速度和煙花綻放花朵的大小。由於是在HTML5 Canvas畫布上完成,因此也就非常靈活。
  • HTML5 超炫酷 3D 煙花動畫
    插件預覽插件下載在線演示連結:https://www.html5tricks.com/demo/html5-canvas-3d-fireworks/index.html插件下載連結:https://www.html5tricks.com/download/html5-canvas-3d-fireworks.rar解壓密碼
  • 短視頻紅極一時靠什麼?
    技術推動WiFi和智慧型手機的普及給短視頻應用的興起鋪平了道路。以快手為例,最初快手(Kwai)提供的是動圖(GIF)產品,2013年轉型為短視頻應用,但是技術和市場還不成熟,直到2014年快手的日活躍用戶(Daily Active Users)才實現攀升。對此,快手CEO宿華解釋說,「前面有3年左右的時間我們並沒有辦法做分享這個動作,因為當年wifi不普及,流量太貴了,用戶不敢用手機去分享給別人。
  • HTML5 Canvas 動畫實例
    <canvas id="myCanvas" height=250 width=250>您的瀏覽器不支持 canvas。</canvas><script type="text/javascript">function draw(){ var canvas=document.getElementById("myCanvas"); //獲取網頁中的 canvas 對象 var context = canvas.getContext
  • NBA球星的萬聖節裝扮,究竟誰的最雷人?
    今天小編帶大家感受一下NBA球星的萬聖節裝扮,看看究竟誰的造型最雷人!史蒂芬庫裡:如果沒有格林這個背景板,估計沒有人會想到這個鬼魅的造型竟然是「小學生」庫裡勒布朗詹姆斯:詹姆斯化身吸血鬼,故作兇狀的對著妻子咬牙咧嘴維斯布魯克:威少化身養蜂人,他的妻子跟女兒則化身小蜜蜂,全家一起無比幸福樂福:樂福這個造型也是夠雷人,不摘下面具,沒人能夠認得出來他
  • 「videoleap教程免費領」耗時200+小時為你精選的視頻剪輯資料包!
    videoleap資料庫點擊上方藍色字體關注公眾號並回復
  • QRCanvas-動態生成二維碼的開源優秀js庫
    QRCanvas 能用來做什麼動態生成帶二維碼的海報是業務型產品中很常見的需求,之前分享過如何通過 html2canvas 將html+css寫出來的布局生成海報,而今天分享的 QRCanvas 則是專門滿足如何在前端生成動態二維碼的需求。
  • VideoPad Video Editor for Mac(強大的視頻編輯工具)
    ,拖放視頻到VideoPad mac版裡就能進行視頻編輯,支持創建、導入、導出、編輯電影字幕、導入和混合音樂曲目等功能,還能進行視頻轉換。  打開videopad video editor軟體,顯示「未授權」
  • YouTube推Video Builder工具:幫企業更快更好製作短視頻
    谷歌表示當前有不少企業開始通過視頻方式和更多客戶進行溝通交流,但是他們並沒有足夠的資源打造這些視頻,而這款工具能夠為這些企業提供幫助。Video Builder目前仍處於測試階段,提供了一些包含圖像、字體和圖標的庫,以便於企業利用這些資源轉換為短視頻,幫助他們與潛在客戶溝通。谷歌表示新冠疫情的影響讓很多企業沒有時間和資源來製作長視頻,而且隔離令也讓他們無法進行現場拍攝。
  • 15 個 HTML5 Canvas 應用欣賞
    今天,我們收集了15個優秀的canvas應用,每個開發者都應該知道。Sketchpad 是個優秀的 HTML5 應用,幫助我們創建有用的繪圖應用,使用JS和canvas元素。Sketchpad 的繪圖工具具有豐富的功能。