2016-05-14 97 views

回答

1

如果兩個API都可以完成你想要的,你可以使用其中任何一個。如果一個API有相關的功能或限制,那麼你需要根據這些事實來決定。的CanvasRenderingContext2D.createImageData()

特點:

  • 舊馬廄API函數,在所有的瀏覽器和版本的支持。
  • 需要現有的2D上下文對象才能創建ImageData對象。
  • 可以使用表格createImageData(imagedata)克隆ImageData對象。

特點new ImageData()

  • 被認爲是實驗性的API函數。不支持任何版本的Microsoft Internet Explorer!
  • 在工作線程中創建ImageData時首選。 (ctx.createImageData()被認爲是線程不安全的?)
  • 是獨立的構造函數,不需要先創建2D上下文對象。
  • 可以使用表格new ImageData(array, width, height)建立基於像素陣列的ImageData