WebGLRenderingContext: pixelStorei() method

Baseline Widely available

This feature is well established and works across many devices and browser versions. It’s been available across browsers since July 2015.

Note: This feature is available in Web Workers.

Phương thức WebGLRenderingContext.pixelStorei() của WebGL API chỉ định các chế độ lưu trữ pixel.

Cú pháp

js
pixelStorei(pname, param)

Thông số

pname

A GLenum chỉ định tham số nào cần thiết lập. Xem bên dưới để có thể các giá trị.

param

Một GLint chỉ định giá trị để thiết lập pname tham số tới. Xem bên dưới để biết các giá trị có thể.

Giá trị trả về

Không có (undefined).

Thông số lưu trữ pixel

Tên thông số (đối với pname) Mô tả Loại Giá trị mặc định Các giá trị được phép (đối với param) Được chỉ định in
gl.PACK_ALIGNMENT Đóng gói dữ liệu pixel vào bộ nhớ GLint 4 1, 2, 4, 8 OpenGL ES 2.0
gl.UNPACK_ALIGNMENT Giải nén dữ liệu pixel khỏi bộ nhớ. GLint 4 1, 2, 4, 8 OpenGL ES 2.0
gl.UNPACK_FLIP_Y_WEBGL Lật dữ liệu nguồn dọc theo trục tung của nó nếu đúng. GLboolean falset true, false WebGL
gl.UNPACK_PREMULTIPLY_ALPHA_WEBGL Nhân kênh alpha thành các kênh màu khác GLboolean false true, false WebGL
gl.UNPACK_COLORSPACE_CONVERSION_WEBGL Chuyển đổi không gian màu mặc định hoặc không chuyển đổi không gian màu. GLenum gl.BROWSER_DEFAULT_WEBGL gl.BROWSER_DEFAULT_WEBGL, gl.NONE WebGL

Khi sử dụng WebGL 2 context, các giá trị sau đây có sẵn bổ sung:

Không đổi Mô tả Loại Mặc định value Các giá trị được phép (cho param) Được chỉ định trong
gl.PACK_ROW_LENGTH Số pixel trên một hàng. GLint 0 0 đến Vô cực OpenGL ES 3.0
gl.PACK_SKIP_PIXELS Số vị trí pixel bị bỏ qua trước khi pixel đầu tiên được ghi vào bộ nhớ. GLint 0 0 đến Vô cực OpenGL ES 3.0
gl.PACK_SKIP_ROWS Số lượng các hàng vị trí pixel bị bỏ qua trước khi pixel đầu tiên được ghi vào bộ nhớ Vô cực OpenGL ES 3.0
gl.UNPACK_ROW_LENGTH Số pixel trên một hàng. GLint 0 0 đến Vô cực OpenGL ES 3.0
gl.UNPACK_IMAGE_HEIGHT Chiều cao hình ảnh được sử dụng để đọc dữ liệu pixel từ bộ nhớ GLint 0 0 đến Vô cực OpenGL ES 3.0
gl.UNPACK_SKIP_PIXELS Số lượng ảnh pixel bị bỏ qua trước khi pixel đầu tiên được đọc từ bộ nhớ GLint 0 0 đến Vô cực OpenGL ES 3.0
gl.UNPACK_SKIP_ROWS Số hàng vị trí pixel bị bỏ qua trước khi pixel đầu tiên được đọc từ bộ nhớ GLint 0 0 tới Vô cực OpenGL ES 3.0
gl.UNPACK_SKIP_IMAGES Số lượng ảnh pixel bị bỏ qua trước khi pixel đầu tiên được đọc từ bộ nhớ GLint 0 0 đến Vô cực OpenGL ES 3.0

Ví dụ

Việc thiết lập chế độ lưu trữ pixel sẽ ảnh hưởng đến các hoạt động của WebGLRenderingContext.readPixels(), cũng như việc giải nén các kết cấu bằng các phương pháp WebGLRenderingContext.texImage2D()WebGLRenderingContext.texSubImage2D().

js
const tex = gl.createTexture();
gl.bindTexture(gl.TEXTURE_2D, tex);
gl.pixelStorei(gl.PACK_ALIGNMENT, 4);

Để kiểm tra các giá trị đóng gói và giải nén dữ liệu pixel, bạn có thể truy vấn các tham số lưu trữ pixel tương tự bằng WebGLRenderingContext.getParameter().

js
gl.getParameter(gl.PACK_ALIGNMENT);
gl.getParameter(gl.UNPACK_ALIGNMENT);

Thông số kỹ thuật

Specification
WebGL Specification
# 5.14.3
WebGL Specification
# PIXEL_STORAGE_PARAMETERS
WebGL 2.0 Specification
# 3.7.2

Khả năng tương thích của trình duyệt

Xem thêm