`createImageData()`和`new ImageData()`有何不同?

3
1个回答

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

所以,基本上答案是“没有”。 - Leonardo Raele
@LeonardoRaele 不同意,你是怎么得出这个结论的? - Nayuki

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接