[譯]視區百分比,canvas.toBlob()以及WebRTC


原文:https://hacks.mozilla.org/2012/10/firefox-development-highlights-viewport-percentage-canvas-toblob-and-webrtc/


本文講幾個Firefox Nightly中的新特性.

視區百分比長度

Gecko現在支持了新的長度單位: vh, vw, vmin, vmax. 1vh就是視區高度的1%,而且該長度單位並不依賴於它的容器的尺寸.這樣我們就可以構建一個直接和頁面大小成比例的區域(比如HTML幻燈片,可以在不同的頁面大小下顯示相同的外觀).

vh
視區高度的1/100.
vw
視區寬度的1/100th.
vmin
視區高度和寬度之間最小值的1/100.
vmax
視區高度和寬度之間最大值的1/100.

了解更多相關知識:CSS視區百分比長度(MDN).

<canvas>.toBlob()

Blob對象類似於File對象,包含了文件的原始數據,且是不可變的.Blob對象可以用在許多不同的API上,比如File API和IndexedDB.我們可以通過window.URL.createObjectURL創建一個指向某個Blob對象的別名.可以用它在許多情況下代替Data URI的功能(更節約內存).

現在,canvas元素可以使用toBlob()方法將圖片內容導出成為一個圖片類型的Blob對象了(替換了原先非標准的mozGetAsFile方法).toBlob方法是異步的:

toBlob(callback, type)    //type默認值為"image/png"

了解更多相關知識:獲取canvas所包含的圖片文件(MDN).

 譯者注:我寫了一個拼接大圖的例子(Firefox Only),你可以拼接幾張大圖,體驗一下Blob比DataURI快多少.注意:toBlob方法是異步的,所以瀏覽器會阻止在回調函數中用open打開的彈窗.

WebRTC,支持版本:Firefox Nightly (Firefox 19)和Firefox Aurora (Firefox 18)

首先需要激活WebRTC功能,修改about:config中的media.peerconnection.enabled選項為true.MDN上有更多關於WebRTC的文檔,我們以后還會在Mozilla Hacks發布關於WebRTC的文章.

另外,如果你想保持關注Firefox最新添加的功能,可以在Twitter上粉我們@FirefoxNightly.


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM