Get to know MDN better
Dieser Inhalt wurde automatisch aus dem Englischen übersetzt, und kann Fehler enthalten. Erfahre mehr über dieses Experiment.
Diese Funktion ist nicht Baseline, da sie in einigen der am weitesten verbreiteten Browser nicht funktioniert.
Sicherer Kontext: Diese Funktion ist nur in sicheren Kontexten (HTTPS) in einigen oder allen unterstützenden Browsern verfügbar.
Hinweis: Diese Funktion ist in Web Workers verfügbar.
Die copyExternalImageToTexture() Methode des GPUQueue-Interfaces kopiert einen Schnappschuss, der von einem Quellbild, Video oder Canvas aufgenommen wurde, in eine gegebene GPUTexture.
Durch die Verwendung dieser Funktion kann der Benutzeragent die effizienteste Methode zum Übertragen der Daten für jeden Quelltyp bestimmen.
Ein Objekt, das die Quelle darstellt, die zum Ziel geschrieben werden soll, sowie deren Ursprung. Dies kann die folgenden Eigenschaften haben:
sourceEin Objekt, das die Quelle des Schnappschusses bereitstellt, der kopiert werden soll. Dies kann ein HTMLCanvasElement, HTMLImageElement, HTMLVideoElement, ImageBitmap, ImageData, OffscreenCanvas oder VideoFrame-Objekt sein. Die Bildquelldaten werden genau in dem Moment erfasst, wenn copyExternalImageToTexture() aufgerufen wird.
origin OptionalEin Objekt oder Array, das den Ursprung der Kopie spezifiziert – die obere linke Ecke des Quellsubbereichs, von dem kopiert werden soll. Zusammen mit copySize definiert dies das volle Ausmaß des Quellsubbereichs. Die x- und y-Werte standardisieren auf 0, wenn origin vollständig oder teilweise weggelassen wird.
Zum Beispiel können Sie ein Array wie [0, 0] oder das entsprechende Objekt { x: 0, y: 0 } übergeben.
flipY OptionalEin boolescher Wert. Wenn auf true gesetzt, wird die Bildaufnahme vertikal gespiegelt. Wenn ausgelassen, standardisiert flipY auf false.
destinationEin Objekt, das die Textur-Subressource und den Ursprung definiert, um das aufgenommene Bild zu schreiben, sowie Metadaten zur Kodierung. Dies kann die folgenden Eigenschaften haben:
aspect OptionalEin enumerierter Wert, der definiert, auf welche Aspekte der Textur das Bild geschrieben werden soll. Mögliche Werte sind:
"all"Alle verfügbaren Aspekte des Texturformats werden beschrieben, das kann Farb-, Tiefen- und Stencil-Aspekte bedeuten, abhängig von dem verwendeten Format.
"depth-only"Nur der Tiefenaspekt eines depth-or-stencil format wird beschrieben.
"stencil-only"Nur der Stencil-Aspekt eines Depth-or-Stencil-Formats wird beschrieben.
Wenn ausgelassen, nimmt aspect den Wert "all" an.
colorSpace OptionalEin enumerierter Wert, der den Farbraum und die Kodierung beschreibt, die verwendet werden, um Daten in die Zieltextur zu kodieren. Mögliche Werte sind "srgb" und "display-p3". Wenn ausgelassen, standardisiert colorSpace auf "srgb".
Hinweis: Die Kodierung kann dazu führen, dass Werte außerhalb des Bereichs [0, 1] in die Zieltextur geschrieben werden, wenn deren Format diese darstellen kann. Andernfalls werden die Ergebnisse auf den Bereich des Zieltexturformats beschränkt. Eine Konvertierung ist möglicherweise nicht notwendig, wenn colorSpace mit dem Farbraum des Quellbilds übereinstimmt.
Eine Zahl, die das Mip-Map-Level der Textur darstellt, auf das das Bild geschrieben werden soll. Wenn ausgelassen, standardisiert mipLevel auf 0.
origin OptionalEin Objekt oder Array, das den Ursprung der Kopie spezifiziert – die minimale Ecke des Texturbereichs, in den die Bilddaten geschrieben werden sollen. Zusammen mit copySize definiert dies das volle Ausmaß des Bereichs, in den kopiert werden soll. Die x-, y- und z-Werte standardisieren auf 0, wenn origin vollständig oder teilweise weggelassen wird.
Zum Beispiel können Sie ein Array wie [0, 0, 0] oder das entsprechende Objekt { x: 0, y: 0, z: 0 } übergeben.
premultipliedAlpha OptionalEin boolescher Wert. Wenn auf true gesetzt, werden die RGB-Kanäle der Bilddaten, die in die Textur geschrieben wurden, mit dem Alphakanal vorvermultipliziert. Wenn ausgelassen, standardisiert premultipliedAlpha auf false.
Hinweis: Wenn diese Option auf true gesetzt ist und die source auch vorvermultipliziert ist, müssen die Quell-RGB-Werte beibehalten werden, selbst wenn sie ihre entsprechenden Alphawerte überschreiten.
Ein GPUTexture-Objekt, das die Textur darstellt, in die die Daten geschrieben werden sollen.
copySizeEin Objekt oder Array, das width, height und depthOrArrayLayers — des Bereichs, von dem/zu dem kopiert werden soll, spezifiziert.
Zum Beispiel können Sie ein Array wie [16, 1, 1] oder das entsprechende Objekt { width: 16, height: 1, depthOrArrayLayers: 1 } übergeben.
Der width-Wert muss angegeben werden. Wenn die height- oder depthOrArrayLayers-Werte ausgelassen werden, standardisieren sie auf 1.
Keiner (Undefined).
Die Methode wirft einen OperationError, wenn die folgenden Kriterien nicht erfüllt sind:
Wird ausgelöst, wenn die Bildquelldaten plattformübergreifend sind.
Die folgenden Kriterien müssen erfüllt sein, wenn writeTexture() aufgerufen wird, andernfalls wird ein GPUValidationError generiert und die GPUQueue wird ungültig:
Im WebGPU Samples Textured Cube-Beispiel wird das folgende Snippet verwendet, um ein Bild abzurufen und es in eine GPUTexture hochzuladen:
| WebGPU # dom-gpuqueue-copyexternalimagetotexture |
JavaScript aktivieren, um diese Browser-Kompatibilitätstabelle anzuzeigen.
Der Bauplan für ein besseres Internet.
Besuche die gemeinnützige Muttergesellschaft der Mozilla Corporation, die Mozilla Foundation.
Teile dieses Inhalts sind ©1998–2026 von einzelnen mozilla.org-Mitwirkenden. Inhalte sind verfügbar unter einer Creative-Commons-Lizenz.