媒體型別和畫布

本主題將介紹各種媒體型別以及它們如何與 2D 介面中的畫布一起使用。

媒體型別具有通用和格式特定類別

媒體型別

  • 動畫
  • 影片
  • 圖片
  • 高清影象
  • 向量影象
  • 動畫圖片

媒體格式

  • JPG / JPEG
  • PNG
  • GIF
  • SVG
  • M-JPEG
  • WEBM
  • WebP 的

圖片

瀏覽器支援各種各樣的影象格式,但沒有瀏覽器支援它們。如果你有特定的影象格式,你希望使用 Wiki 瀏覽器和支援的影象格式提供了一個很好的概述。

最好的支援是 3 種主要格式,jpegpnggif,所有主流瀏覽器都提供支援。

JPEG

JPEG 影象最適合照片和照片,如影象。他們並沒有很好地藉助圖表,圖表和文字。JPEG 影象不支援透明度。

Canvas 可以通過 canvas.toDataURLcanvas.toBlob 輸出 JPEG 影象,並提供高質量的設定。由於 JPEG 不支援透明度,因此最終輸出 JPG 的任何透明畫素都將與黑色混合。生成的影象不是畫布的完美副本。

JPEG 維基百科

PNG

PNG 影象是最高質量的影象,還可以包含透明畫素的 Alpha 通道。影象資料被壓縮但不會產生像 JPG 影象那樣的偽像。

由於無失真壓縮和 alpha 通道支援,PNG 用於遊戲,ui 元件影象,圖表,圖表,文字。當它們用於照片和照片一樣的影象時,它們的檔案大小可能比 JPEG 大得多。。

雖然瀏覽器支援有限,但 PNG 格式也提供動畫支援,並且只能通過 Javascript API 和庫訪問用於畫布的動畫。

雖然輸出格式僅限於壓縮的 32 位 RGBA,但畫布可用於通過 canvas.toDataURLcanvas.toBlob 編碼 PNG 影象。PNG 將提供畫布的畫素完美副本。

PNG 在維基百科

GIF

GIF 用於短動畫,但也可用於提供高質量的圖表,圖表和文字,如影象。GIF 的色彩支援非常有限,每幀最多 256 種顏色。使用切割器影象處理 gif 影象可以產生令人驚訝的好結果,尤其是在動畫時。Gif 還提供透明度,但這僅限於開啟或關閉

與 PNG 一樣,GIF 動畫無法直接在畫布上使用,你需要使用 Javascript API 或庫才能訪問。無法通過畫布儲存 GIF,並且需要 API 和庫來執行此操作。

維基百科的 GIF