Spec-Zone.ru › Web APIs

WebGLRenderingContext: метод pixelStorei()

Базовая реализация Широко поддерживается

Эта функция хорошо реализована и работает на многих устройствах и версиях браузеров. Она доступна в браузерах с июля 2015 года.

  • Подробнее
  • Полная совместимость
  • Отправить отзыв

Примечание: Эта функция доступна в Web Workers.

Метод WebGLRenderingContext.pixelStorei() API WebGL определяет режимы хранения пикселей.

Синтаксис

pixelStorei(pname, param)

Параметры

pname

Значение GLenum, определяющее, какой параметр установить. Возможные значения приведены ниже.

param

Значение GLint, задающее значение параметра pname. Возможные значения приведены ниже.

Возвращаемое значение

None (undefined).

Параметры хранения пикселей

Имя параметра (для pname) Описание Тип Значение по умолчанию Допустимые значения (для param) Определено в
gl.PACK_ALIGNMENT Упаковка данных пикселей в память GLint 4 1, 2, 4, 8 OpenGL ES 2.0
gl.UNPACK_ALIGNMENT Распаковка данных пикселей из памяти. GLint 4 1, 2, 4, 8 OpenGL ES 2.0
gl.UNPACK_FLIP_Y_WEBGL Инвертирует исходные данные по вертикали, если true. GLboolean false true, false WebGL
gl.UNPACK_PREMULTIPLY_ALPHA_WEBGL Умножает альфа-канал на другие цветовые каналы GLboolean false true, false WebGL
gl.UNPACK_COLORSPACE_CONVERSION_WEBGL Преобразование цветового пространства по умолчанию или без преобразования. GLenum gl.BROWSER_DEFAULT_WEBGL gl.BROWSER_DEFAULT_WEBGL, gl.NONE WebGL

При использовании контекста WebGL 2 доступны дополнительные значения:

Постоянная Описание Тип Значение по умолчанию Допустимые значения (для param) Определено в
gl.PACK_ROW_LENGTH Количество пикселей в строке. GLint 0 0 до Infinity OpenGL ES 3.0
gl.PACK_SKIP_PIXELS Количество пикселей, пропускаемых перед записью первого пикселя в память. GLint 0 0 до Infinity OpenGL ES 3.0
gl.PACK_SKIP_ROWS Количество строк пикселей, пропускаемых перед записью первого пикселя в память GLint 0 0 до Infinity OpenGL ES 3.0
gl.UNPACK_ROW_LENGTH Количество пикселей в строке. GLint 0 0 до Infinity OpenGL ES 3.0
gl.UNPACK_IMAGE_HEIGHT Высота изображения, используемого для чтения данных пикселей из памяти GLint 0 0 до Infinity OpenGL ES 3.0
gl.UNPACK_SKIP_PIXELS Количество изображений пикселей, пропускаемых перед чтением первого пикселя из памяти GLint 0 0 до Infinity OpenGL ES 3.0
gl.UNPACK_SKIP_ROWS Количество строк пикселей, пропускаемых перед чтением первого пикселя из памяти GLint 0 0 до Infinity OpenGL ES 3.0
gl.UNPACK_SKIP_IMAGES Количество изображений пикселей, пропускаемых перед чтением первого пикселя из памяти GLint 0 0 до Infinity OpenGL ES 3.0

Примеры

Настройка режима хранения пикселей влияет на операции WebGLRenderingContext.readPixels(), а также на распаковку текстур с помощью методов WebGLRenderingContext.texImage2D() и WebGLRenderingContext.texSubImage2D().

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

Чтобы проверить значения для упаковки и распаковки данных пикселей, можно запросить те же параметры хранения пикселей с помощью WebGLRenderingContext.getParameter().

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

Спецификации

Спецификация
Спецификация WebGL
# 5.14.3
Спецификация WebGL
# PIXEL_STORAGE_PARAMETERS
Спецификация WebGL 2.0
# 3.7.2

Совместимость с браузерами

Рабочие столы Мобильные устройства
Chrome Edge Firefox Opera Safari Chrome Android Firefox для Android Opera Android Safari на iOS Samsung Internet WebView Android
pixelStorei 9 12 4 12 5.1 25 4 12 8 1.5 4.4.3

См. также

  • WebGLRenderingContext.readPixels()
  • WebGLRenderingContext.texImage2D()
  • WebGLRenderingContext.texSubImage2D()

© 2005–2024 MDN contributors.
Licensed under the Creative Commons Attribution-ShareAlike License v2.5 or later.
https://developer.mozilla.org/en-US/docs/Web/API/WebGLRenderingContext/pixelStorei

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API