[英]Cross-browser spec for canvas pixel data?
有没有人碰巧知道当前画布像素数据规范在各种浏览器中有多远? 如果“不那么远”,以前的规格是什么?
当您拨打或推送像素时,您会收到/发送:
ImageData
data: Uint8ClampedArray
width: Number
height: Number
但我知道它曾经只是:
{
data: Array
width: Number
height: Number
}
因此,如果我正在生成 ImageData,如何检测我需要生成的内容? ImageData && Uint8ClampedArray
足够? 我会立即回到Object / Array
或其他东西吗? 在某些时候是不是有像素阵列?
[编辑] caniuse说IE10和Opera Mini不支持Uint8ClampedArray,所以...?
调用ctx.getImageData()
, 规范要求UserAgent返回TypedArray而不指定哪种类型。 对TypedArray 的支持从IE10开始。 但是,与在IE9中一样, ImageData
对象的data属性是CanvasPixelArray
,它没有可用的Constructor方法。
但无论如何,最好的和IMK只有跨浏览器的方式来获得ImageData
Object所需的正确ArrayBuffer,就是调用ctx.createImageData(width,height)
。
然后你可以得到它的data
数组,你确定它的类型是正确的。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.