返回到: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