首頁 >web前端 >js教程 >淺談Canvas能做什麼?Canvas的使用

淺談Canvas能做什麼?Canvas的使用

青灯夜游
青灯夜游轉載
2018-11-13 15:01:456837瀏覽

這篇文章帶給大家的內容是淺談Canvas能做什麼?Canvas的使用。有一定的參考價值,有需要的朋友可以參考一下,希望對你們有幫助。

canvas能做什麼?

canvas是HTML5中的新元素,你可以用javascript用它來繪製圖形、圖示、以及其它任何視覺性圖像。它也可用於創建圖片特效和動畫。如果你掌握了完整的指令,你可以用canvas創建豐富的web應用程式。如果你想很好的使用canvas,你首先應該很好的掌握javascript。 【相關影片教學推薦:JavaScript教學

canvas#標籤

<canvas width="400" height="300">
</canvas>

當然你也可以透過css來設定!如果你不設定寬高,預設寬高是300*150。

對於低版的瀏覽器,你把需要回饋的資訊放到canvas標籤之間。

<canvas width="400" height="300">
    <p>你想看我,就升级浏览器吧!</p>
</canvas>

取得上下文,你所有的繪畫操作都是在上下文,目前只支援2d。

window.onad=function(){    
     var canvas = document.getElementById("myCanvas");    
     var context= can.getContext("2d");
}

針對Retina顯示器

#讓canvas清晰的顯示在Retina上,以及標準清晰度顯示器很簡單,只要透過螢幕的像素密度決定的比例乘以canvas就行。首先,你需要了解的像素值如何儲存在一個canvas上。

後備儲存就是在canvas上儲存資料的每個像素的顏色值。我們的目標是為每個顯示在畫布上的像素在後背儲存中提供一個像素。在像素被推到螢幕上之前,它們的值在這裡計算。然而,在後備記憶體為代表的像素的數量可能不等於像素的數目推到螢幕上。對Retina設備,canvas的寬度和高度被加倍,以維持一致的大小和相對於其他HTML元素的位置,並且作為一個結果,它延伸並模糊了其內容。為了抵​​消這種伸展,你需要加倍的後備存放時,適當的寬度和高度。

如果你正在處理的光柵圖像或視訊數據,找出如何進一步優化畫布, Retina顯示器的「像素處理。」因為在任何情況下一個更大的畫布未必有利,你需要選擇優化你的Canvas為了Retina設備。首先,確定顯示器呈現你的畫布是否確是Retina口徑。如果是,請依照該裝置的像素比例縮放後備儲存。

一方面視網膜元件有一個2的像素比例,因為有一個2:1的比例的顯示像素,以在x和y方向上的後備儲存像素。在另一方面,標準清晰度的顯示器,映射1的後備存儲像素到1顯示像素,所以它們的設備的像素比例將始終是1。

在JavaScript中,你可以決定後備比例的因素。首先,看瀏覽器是否已經定義了window.devicePixelRatio。如果該裝置的像素比例大於1時,使用者是一個Retina顯示器上。確定適當的後備比例的程式碼如下:

window.onload=function(){
       var canvas = document.getElementById("myCanvas");
      var context= canvastContext("2d");
       var scaleFactor = backingScale(ctx);
       if (scaleFactor > 1) {
              canvas.width = canvas.width * scaleFactor;
              canvas.height = canvas.height * scaleFactor;
              // update the context for the new canvas scale
              var context = canvas.getContext("2d");
       }
}
 function backingScale(context) {
              if (&#39;devicePixelRatio&#39; in window) {
                     if (window.devicePixelRatio > 1) {
                            return window.devicePixelRatio;
                     }
              }
              return 1;

}

總結:以上就是這篇文章的全部內容,希望能對大家的學習有所幫助。

以上是淺談Canvas能做什麼?Canvas的使用的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文轉載於:cnblogs.com。如有侵權,請聯絡admin@php.cn刪除