WebGLRenderingContext: Methode pixelStorei()

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.

Hinweis: Diese Funktion ist in Web Workers verfügbar.

Die WebGLRenderingContext.pixelStorei()-Methode der WebGL-API legt die Pixel-Speichermodi fest.

Syntax

js
pixelStorei(pname, param)

Parameter

pname

Ein GLenum, der angibt, welcher Parameter gesetzt werden soll. Siehe unten für mögliche Werte.

param

Ein GLint, der einen Wert angibt, auf den der pname Parameter gesetzt werden soll. Siehe unten für mögliche Werte.

Rückgabewert

Keiner (undefined).

Pixel-Speicherparameter

Parametername (für pname) Beschreibung Typ Standardwert Erlaubte Werte (für param) Spezifiziert in
gl.PACK_ALIGNMENT Packen von Pixeldaten in den Speicher [`GLint`](/de/docs/Web/API/WebGL_API/Types) 4 1, 2, 4, 8 OpenGL ES 2.0
gl.UNPACK_ALIGNMENT Entpacken von Pixeldaten aus dem Speicher. [`GLint`](/de/docs/Web/API/WebGL_API/Types) 4 1, 2, 4, 8 OpenGL ES 2.0
gl.UNPACK_FLIP_Y_WEBGL Spiegeln der Quelldaten entlang der vertikalen Achse, wenn wahr. [`GLboolean`](/de/docs/Web/API/WebGL_API/Types) false true, false WebGL
gl.UNPACK_PREMULTIPLY_ALPHA_WEBGL Multipliziert den Alphakanal in die anderen Farbkanäle hinein [`GLboolean`](/de/docs/Web/API/WebGL_API/Types) false true, false WebGL
gl.UNPACK_COLORSPACE_CONVERSION_WEBGL Standardfarbraumkonvertierung oder keine Farbraumkonvertierung. [`GLenum`](/de/docs/Web/API/WebGL_API/Types) gl.BROWSER_DEFAULT_WEBGL gl.BROWSER_DEFAULT_WEBGL, gl.NONE WebGL

Bei Verwendung eines WebGL-2-Kontext sind zusätzlich die folgenden Werte verfügbar:

Konstante Beschreibung Typ Standardwert Erlaubte Werte (für param) Spezifiziert in
gl.PACK_ROW_LENGTH Anzahl der Pixel in einer Zeile. [`GLint`](/de/docs/Web/API/WebGL_API/Types) 0 0 bis Infinity OpenGL ES 3.0
gl.PACK_SKIP_PIXELS Anzahl der Pixelpositionen, die übersprungen werden, bevor das erste Pixel in den Speicher geschrieben wird. [`GLint`](/de/docs/Web/API/WebGL_API/Types) 0 0 bis Infinity OpenGL ES 3.0
gl.PACK_SKIP_ROWS Anzahl der Pixelreihen, die übersprungen werden, bevor das erste Pixel in den Speicher geschrieben wird [`GLint`](/de/docs/Web/API/WebGL_API/Types) 0 0 bis Infinity OpenGL ES 3.0
gl.UNPACK_ROW_LENGTH Anzahl der Pixel in einer Zeile. [`GLint`](/de/docs/Web/API/WebGL_API/Types) 0 0 bis Infinity OpenGL ES 3.0
gl.UNPACK_IMAGE_HEIGHT Bildhöhe für das Lesen von Pixeldaten aus dem Speicher verwendet [`GLint`](/de/docs/Web/API/WebGL_API/Types) 0 0 bis Infinity OpenGL ES 3.0
gl.UNPACK_SKIP_PIXELS Anzahl der Pixelbilder, die übersprungen werden, bevor das erste Pixel aus dem Speicher gelesen wird [`GLint`](/de/docs/Web/API/WebGL_API/Types) 0 0 bis Infinity OpenGL ES 3.0
gl.UNPACK_SKIP_ROWS Anzahl der Pixelreihen, die übersprungen werden, bevor das erste Pixel aus dem Speicher gelesen wird [`GLint`](/de/docs/Web/API/WebGL_API/Types) 0 0 bis Infinity OpenGL ES 3.0
gl.UNPACK_SKIP_IMAGES Anzahl der Pixelbilder, die übersprungen werden, bevor das erste Pixel aus dem Speicher gelesen wird [`GLint`](/de/docs/Web/API/WebGL_API/Types) 0 0 bis Infinity OpenGL ES 3.0

Beispiele

Das Setzen des Pixel-Speichermodus wirkt sich auf die WebGLRenderingContext.readPixels()-Operationen aus, sowie auf das Entpacken von Texturen mit den Methoden WebGLRenderingContext.texImage2D() und WebGLRenderingContext.texSubImage2D().

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

Um die Werte für das Packen und Entpacken von Pixeldaten zu überprüfen, können Sie dieselben Pixel-Speicherparameter mit WebGLRenderingContext.getParameter() abfragen.

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

Spezifikationen

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

Browser-Kompatibilität

BCD tables only load in the browser

Siehe auch