【发布时间】:2014-10-18 18:52:00
【问题描述】:
首先是代码:
data[y * canvasWidth + x] =
(255 << 24) | // alpha
(value << 16) | // blue
(value << 8) | // green
value; // red
}
我试图重新理解这一点,我曾经有过。但后来我忘记了。我在这篇文章里又找到了:https://hacks.mozilla.org/2011/12/faster-canvas-pixel-manipulation-with-ty
此代码正在使用中:http://jsfiddle.net/andrewjbaker/Fnx2w/
我的问题:
- 如何将所有 rbga 值组合在一起?
链接:
- https://developer.mozilla.org/en-US/docs/Web/JavaScript/Typed_arrays
- https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Uint8ClampedArray
- https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Uint32Array
- https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Operators/Bitwise_Operators
- https://developer.mozilla.org/en-US/docs/Web/API/ImageData
【问题讨论】:
-
它可以让您将 4 个数字放入一个整数中,因此结果数组的长度是 1/4。这可以使某些操作更快,并减少图像数据的占用空间。
标签: javascript bitwise-operators