Canvas OffscreenCanvas:OffscreenCanvas.getContext()

返回到:Canvas API:OffscreenCanvas

OffscreenCanvas.getContext()方法返回屏幕外画布的绘图上下文,或者null如果不支持上下文标识符。

语法

getContext(contextType, contextAttributes)

参数

contextType

包含定义与画布关联的绘图上下文的上下文标识符的字符串。可能的值是:

2d

创建一个OffscreenCanvasRenderingContext2D表示二维渲染上下文的对象。

webgl

创建WebGLRenderingContext表示三维渲染上下文的对象。此上下文仅在实现WebGL版本 1 (OpenGL ES 2.0) 的浏览器上可用。

webgl2

创建WebGL2RenderingContext表示三维渲染上下文的对象。此上下文仅在实现WebGL版本 2 (OpenGL ES 3.0) 的浏览器上可用。

bitmaprenderer

创建一个ImageBitmapRenderingContext仅提供用给定的ImageBitmap.

注意:标识符"experimental-webgl"or"experimental-webgl2"也用于 WebGL 的实现。这些实现还没有达到测试套件的一致性,或者平台上的图形驱动情况还不稳定。Khronos Group根据某些一致性规则对WebGL 实现进行认证。

contextAttributes

您可以在创建渲染上下文时使用多个上下文属性,例如:

offscreen.getContext("webgl", { antialias: false, depth: false });

二维上下文属性:alpha

指示画布是否包含 alpha 通道的布尔值。如果设置为false,浏览器现在知道背景总是不透明的,这样可以加快透明内容和图像的绘制速度。willReadFrequently 非标(仅限火狐)

指示是否计划进行大量回读操作的布尔值。这将强制使用软件(而不是硬件加速)2D 画布,并且可以在getImageData()频繁调用时节省内存。此选项仅在标志gfx.canvas.willReadFrequently.enable设置为时可用true(默认情况下,仅适用于 B2G/Firefox OS)。storage 非标(仅闪烁)

指示使用哪个存储的字符串(默认为“持久”)。

WebGL 上下文属性:

alpha

指示画布是否包含 alpha 缓冲区的布尔值。

depth

布尔值,表示请求绘图缓冲区具有至少 16 位的深度缓冲区。

stencil

布尔值,表示请求绘图缓冲区具有至少 8 位的模板缓冲区。

antialias

指示是否在可能的情况下执行抗锯齿的布尔值。

premultipliedAlpha

布尔值,指示页面合成器将假定绘图缓冲区包含具有预乘 alpha 的颜色。

preserveDrawingBuffer

如果该值为真,缓冲区将不会被清除,并将保留它们的值,直到被作者清除或覆盖。failIfMajorPerformanceCaveat

布尔值,指示如果系统性能低下是否将创建上下文。

返回值

渲染上下文是

  • CanvasRenderingContext2D对于"2d",
  • WebGLRenderingContext对于"webgl""experimental-webgl"_
  • WebGL2RenderingContext对于"webgl2""experimental-webgl2" 实验性的, 要么
  • ImageBitmapRenderingContext对于"bitmaprenderer"

如果contextType与可能的绘图上下文不匹配,null则返回。

例子

const offscreen = new OffscreenCanvas(256, 256);
const gl = offscreen.getContext("webgl");

gl; // WebGLRenderingContext
gl.canvas; // OffscreenCanvas

返回到:Canvas API:OffscreenCanvas

作者:terry,如若转载,请注明出处:https://www.web176.com/canvas_api/7781.html

(0)
打赏 支付宝 支付宝 微信 微信
terryterry
上一篇 2023年1月3日
下一篇 2023年1月3日

相关推荐

发表回复

您的电子邮箱地址不会被公开。 必填项已用 * 标注