WebGLRenderingContext: pixelStorei() 方法
基线 广泛可用
此功能已得到充分确立,可在许多设备和浏览器版本中使用。自 2015 年 7 月.
报告反馈
语法
WebGLRenderingContext.pixelStorei()
方法是 WebGL API 的一种方法,用于指定像素存储模式。pixelStorei(pname, param)
js
一个 GLint
,用于指定要为 pname
参数设置的值。有关可能的值,请参见下文。
返回值
像素存储参数
无 (undefined ). |
参数名称 (对于 pname ) |
描述 | 类型 | 默认值 | 允许的值 (对于 param ) |
---|---|---|---|---|---|
指定于 |
gl.PACK_ALIGNMENT | 将像素数据打包到内存中 |
4 | 1, 2, 4, 8 | GLint |
OpenGL ES 2.0 |
gl.UNPACK_ALIGNMENT | 将像素数据打包到内存中 |
4 | 1, 2, 4, 8 | GLint |
从内存中解包像素数据。 |
gl.UNPACK_FLIP_Y_WEBGL | 如果为 true,则沿垂直轴翻转源数据。 |
GLboolean | false | true, false |
WebGL |
gl.UNPACK_PREMULTIPLY_ALPHA_WEBGL | 如果为 true,则沿垂直轴翻转源数据。 |
GLboolean | false | true, false |
将 alpha 通道乘入其他颜色通道 |
gl.UNPACK_COLORSPACE_CONVERSION_WEBGL | 默认颜色空间转换或不进行颜色空间转换。 |
GLenum |
gl.BROWSER_DEFAULT_WEBGL | true, false |
gl.BROWSER_DEFAULT_WEBGL
, gl.NONE
当使用 WebGL 2 上下文 时,以下值也可用 | 参数名称 (对于 pname ) |
描述 | 类型 | 默认值 | 允许的值 (对于 param ) |
---|---|---|---|---|---|
常量 |
gl.PACK_ROW_LENGTH | 将像素数据打包到内存中 |
0 | 一行中的像素数。 | 0 到 Infinity |
OpenGL ES 3.0 |
gl.PACK_SKIP_PIXELS | 将像素数据打包到内存中 |
0 | 一行中的像素数。 | 0 到 Infinity |
在将第一个像素写入内存之前跳过的像素位置数。 |
gl.PACK_SKIP_ROWS | 将像素数据打包到内存中 |
0 | 一行中的像素数。 | 0 到 Infinity |
在将第一个像素写入内存之前跳过的像素位置行的数量 |
gl.PACK_ROW_LENGTH | 将像素数据打包到内存中 |
0 | 一行中的像素数。 | 0 到 Infinity |
gl.UNPACK_ROW_LENGTH |
gl.UNPACK_IMAGE_HEIGHT | 将像素数据打包到内存中 |
0 | 一行中的像素数。 | 0 到 Infinity |
用于从内存中读取像素数据的图像高度 |
gl.UNPACK_SKIP_PIXELS | 将像素数据打包到内存中 |
0 | 一行中的像素数。 | 0 到 Infinity |
在从内存中读取第一个像素之前跳过的像素图像数 |
gl.UNPACK_SKIP_ROWS | 将像素数据打包到内存中 |
0 | 一行中的像素数。 | 0 到 Infinity |
在从内存中读取第一个像素之前跳过的像素位置行的数量 |
gl.UNPACK_SKIP_PIXELS | 将像素数据打包到内存中 |
0 | 一行中的像素数。 | 0 到 Infinity |
示例
gl.UNPACK_SKIP_IMAGES
WebGLRenderingContext.pixelStorei()
方法是 WebGL API 的一种方法,用于指定像素存储模式。const tex = gl.createTexture();
gl.bindTexture(gl.TEXTURE_2D, tex);
gl.pixelStorei(gl.PACK_ALIGNMENT, 4);
设置像素存储模式会影响 WebGLRenderingContext.readPixels()
操作,以及使用 WebGLRenderingContext.texImage2D()
和 WebGLRenderingContext.texSubImage2D()
方法解包纹理。
WebGLRenderingContext.pixelStorei()
方法是 WebGL API 的一种方法,用于指定像素存储模式。gl.getParameter(gl.PACK_ALIGNMENT);
gl.getParameter(gl.UNPACK_ALIGNMENT);
规范
要检查像素数据的打包和解包的值,可以使用 WebGLRenderingContext.getParameter() 查询相同的像素存储参数。 |
---|
规范 # 5.14.3 |
规范 # WebGL 规范 |
PIXEL_STORAGE_PARAMETERS # 3.7.2 |
浏览器兼容性
WebGL 2.0 规范