canvas中的getContext()方法以及webgl中的getContext()方法

文章推薦指數: 80 %
投票人數:10人

var gl = canvas.getContext('webgl');. 获得画布的WebGL渲染上下文后,可以在其中进行渲染。

三、 ... canvas中的getContext()方法以及webgl中的getContext()方法 acoolgiser 于 2019-01-0422:46:07 发布 20769 收藏 20 分类专栏: WebGL 文章标签: getContext()方法 webgl 本文为acoolgiser原创文章,转载请贴上原文链接。

(公众号:acoolgiser) 本文链接:https://blog.csdn.net/acoolgiser/article/details/85800799 版权 WebGL 专栏收录该内容 5篇文章 1订阅 订阅专栏 一、getContext()方法 翻译自:https://developer.mozilla.org/en-US/docs/Web/API/HTMLCanvasElement/getContext 语法:canvas.getContext(contextType,contextAttributes); varctx=canvas.getContext(contextType); varctx=canvas.getContext(contextType,contextAttributes); contextType参数有以下四种: “2d”,创建一个CanvasRenderingContext2D对象作为2D渲染的上下文。

“webgl”(或“experimental-webgl”),创建一个WebGLRenderingContext对象作为3D渲染的上下文,只在实现了WebGL2的浏览器上可用,实验性特性。

“webgl2”,创建一个WebGL2RenderingContext对象作为3D渲染的上下文,只在实现了WebGL3的浏览器上可用。

“bitmaprenderer”,创建一个ImageBitmapRenderingContext,用于将位图渲染到canvas上下文上,实验性特性。

contextAttributes参数可传递多个参数集合用来创建渲染上下文: 例如:canvas.getContext('webgl',{antialias:false, depth:false}); contextType为’2d’时的context属性: alpha(boolean):表示canvas是否包含一个alpha通道,设为false则浏览器知道背景永远不透明,能加速对于透明场景和图像的绘制。

willReadFrequently(Boolean):表示是否计划有大量的回读操作,频繁调用getImageData()方法时能节省内存,仅Gecko内核浏览器支持。

storage(String):声明使用的storage类型,默认为”persistent”。

contextType为‘WebGL’时的context属性: alpha:Boolean类型,指示画布是否包含alpha缓冲区。

antialias:Boolean类型,指示是否执行抗锯齿。

depth:Boolean类型,表示绘图缓冲区的深度缓冲区至少为16位。

failIfMajorPerformanceCaveat:Boolean类型,指示如果系统性能较低,是否创建上下文。

powerPreference:对用户代理的提示,指示GPU的哪种配置适合WebGL上下文。

可能的值是:      “default”:让用户代理决定哪种GPU配置最合适。

这是默认值。

      “高性能”:优先考虑渲染性能而不是功耗。

      “低功耗”:优先考虑节能而不是渲染性能。

premultipliedAlpha:Boolean类型,表示页面合成器将假定绘图缓冲区包含具有预乘alpha的颜色。

preserveDrawingBuffer:如果值为true,则不会清除缓冲区并保留其值,直到作者清除或覆盖。

stencil:Boolean类型,表示绘图缓冲区具有至少8位的模板缓冲区。

  二、WebGLRenderingContext接口中的 getContext() 翻译自:https://developer.mozilla.org/en-US/docs/Web/API/WebGLRenderingContext WebGLRenderingContext接口为HTML 元素的绘图表面提供了OpenGLES2.0图形渲染上下文的接口。

为了获得用于2D和/或3D图形渲染的WebGL上下文的访问,调用getContext()一对元素,提供“WebGL的”作为参数: varcanvas=document.getElementById('myCanvas'); vargl=canvas.getContext('webgl'); 获得画布的WebGL渲染上下文后,可以在其中进行渲染。

  三、WebGL2RenderingContext接口中的getContext() 翻译自:https://developer.mozilla.org/en-US/docs/Web/API/WebGL2RenderingContext WebGL2RenderingContext接口提供了一个HTML的纸面的OpenGLES3.0呈现上下文的元素。

要获得此接口的对象,调用getContext()一对元素,提供“webgl2”作为参数: varcanvas=document.getElementById('myCanvas'); vargl=canvas.getContext('webgl2'); WebGL2是WebGL1的扩展。

该WebGL2RenderingContext接口实现了WebGLRenderingContext接口的所有成员。

当在WebGL2上下文中使用时,WebGL1上下文的某些方法可以接受其他值。

acoolgiser 关注 关注 5 点赞 踩 3 评论 20 收藏 打赏 扫一扫,分享内容 点击复制链接 专栏目录 HTML5通过调用canvas对象的getContext()方法来获取绘图环境 01-19 我们用的最基本的绘图环境在canvas中绘图,通过调用canvas对象的getContext()方法来获取绘图环境。

getContext()方法只需要一个参数:绘图环境的类型。

在游戏中,我们使用2D类型的绘图环境。

获取canvas绘图环境 复制代码代码如下:声明必须是HTML文档的第一行,位于标签之前。

–>HTML5参考手册 奋斗的日子最甜美,在科技的海洋里,永无止境。<br><br> 01-02 585 HTML5  参考手册 描述 HTML5标签用于绘制图像(通过脚本,通常是JavaScript)。<br><br> 不过,元素本身并没有绘制能力(它仅仅是图形的容器)-您必须使用脚本来完成实际的绘图任务。<br><br> getContext()方法可返回一个对象,该对象提供了用于在画布上绘图的方法和属性。<br><br> 本手册提供完整的getContext("2d")对象的属性和方法,可用 html5中Canvas为什么要用getContext('2d') weixin_33978044的博客 06-15 1987 HTMLDOMgetContext()方法 HTMLDOMCanvas对象 定义和用法 getContext()方法返回一个用于在画布上绘图的环境。<br><br> 语法 Canvas.getContext(contextID) 参数 参数 contextID 指定了您想要在画布上绘制的类型。<br><br>当前唯一的合法值是"2d",它指定了二维绘图,并且导致这个方法返回一个环境对象,该对象导出一... webgl-context:在浏览器中获取WebGL上下文 05-31 webgl-上下文 获取一个WebGLRenderingContext,如果它不存在则返回null。<br><br>类似于。<br><br> //getawebglcontext,willbenullifnotfound vargl=require('webgl-context')() if(gl){ document.body.appendChild(gl.canvas) //dosomething... } 或者,带有选项: //orwithoptionalsettings... vargl=require('webgl-context')({ canvas:canvas,//thecanvasDOMelementtouse width:400,//resi 绘制Canvas出现的关于getContext的问题 繁星博客 06-01 6730 **出现的问题** >Cannotreadproperty'getContext'ofundefined **解决方法:** 将绘制方法,即绘制图片的<scrip>方法,放在body<canvas>下面 因为浏览器下需要文档载入完成后才能获得canvas对象 ... CanvasgetContext("3d")? weixin_34217773的博客 03-29 1257 前言 不好意思,标题其实是开了个玩笑。<br><br>大家都知道,Canvas获取绘画上下文的api是getContext("2d")。<br><br>我第一次看到这个api定义的时候,就很自然的认为,既然有2d那一定是有3d的咯?但是我接着我看到了api介绍的这句话 提示:在未来,如果canvas标签扩展到支持3D绘图,getCont... 获取canvas.getContext hotboyboy的博客 03-15 2151 问题:property‘getcontext’doesnotexistontype 框架:angular 语言:typescript 解决方法: Html代码 &lt;canvasid="mycvs"width="300"height="300"&gt;&lt;/canvas&gt; ts代码 var canvas.getContext('webgl')||canvas.getContext('experimental-webgl')是什么意思? acoolgiser的博客 01-05 4046 在学习webgl的时候,看到别人的example里面有这样的代码: canvas.getContext('webgl')||canvas.getContext('experimental-webgl')是什么意思?为什么这样写? 原来是因为: 早期WebGL的context,还不能通过正式的名称webgl来获取,必须使用experimental-webgl来获取context对... CANVAS中的GETCONTEXT("2D")方法在JQUERY中的使用中遇到的小问题解决办法 CatEatApple的专栏 11-01 1887 CANVAS中的GETCONTEXT("2D")方法在JQUERY中的使用中遇到的小问题解决办法 Postedon 2015-11-1818:19 大鹰v 阅读(3006)评论(0) 编辑 收藏 最近在学习HTML5的canvas,在练习过程中我突发奇想,既然原生的js可以完成画图,那么使用jQuery是否一样可以完成画图呢?然后我就开始动手进行试验,但是   varcxt=$(... $nextTick()的作用 热门推荐 splx2013的博客 07-28 1万+ 本文摘自https://blog.csdn.net/Cui_7788/article/details/103143373 什么是nextTick() vue更新dom是异步操作的,$nextTick()是用来知道什么时候dom更新完成 实例 有一个div,默认用v-if隐藏,点击按钮之后,改变v-if的值让它显示出来,并且读取到div中的值。<br><br> <template> <div> <divid>显示文本&lt webGL学习——context对象获取及初始化(一) pgLi 04-26 2114 1、webGL介绍 WebGL(全写WebGraphicsLibrary)是一种3D绘图协议,这种绘图技术标准允许把JavaScript和OpenGLES2.0结合在一起,通过增加OpenGLES2.0的一个JavaScript绑定,WebGL可以为HTML5Canvas提供硬件3D加速渲染,这样Web开发人员就可以借助系统显卡来在浏览器里更流畅地展示3D场景和模型了,还能创建复... canvas中的getContext(“2d“)方法在jQuery中的使用中遇到的小问题解决办法 runwuwushengxiyu的博客 05-27 431 canvas中的getContext("2d")方法在jQuery中的使用中遇到的小问题解决办法 Canvas学习(二) 学习无止境 03-12 57 文章目录2D上下文填充和描边绘制矩形fillRect()strokeRect()clearRect()绘制路径 现在开始正式学习2D上下文 2D上下文 2D上下文坐标原点的canvas元素的左上角 填充和描边 大部分2D上下文细分为填充和描边,属性为fillStyle和strokeStyle。<br><br> context.strokeStyle="#0000ff"; context.fillStyle=... html2canvas手机黑屏,华为手机使用canvas.getContext('2d')真机黑屏 weixin_29660305的博客 06-21 225 华为手机使用canvas.getContext('2d')真机黑屏框架类型问题类型终端类型微信版本基础库版本小游戏Bug微信安卓客户端7.0.162.11.3varcanvas=wx.createCanvas();varcontext=canvas.getContext('2d');context.fillStyle... 利用HTML5canvas元素+原生JS编写贪吃蛇 不知名攻城狮的博客 11-07 996 我们先来看一个最简单的例子 利用canvas动画编写贪吃蛇:https://clacier.github.io/tcs/ 一.什么是canvas? canvas是HTML5中新增加的一个元素,专门用于图形的绘制,通过脚本(通常是JavaScript)来完成; <canvas>标签只是图形容器,我们必须通过JS代码来绘制图形 首先创建一个画布(Canvas) 一个画布在... html5canvas.getcontext,javascript–HTML5元素的getCSSCanvasContext()方法是什么? 最新发布 weixin_42511315的博客 06-23 86 Inthelatestnightlies,youcantryoutanewfeature:theabilitytospecifynamedimagebuffersinCSSandthentodrawintothemprogrammaticallyfromJavaScript.Here’showitworks.background:-we... 存在canvas.getContext(‘2d‘)是否存在canvas.getContext(‘3d‘) Strive279的博客 04-21 392 画2D的图可以使用DOM的标签,示例: functiontest(){ varcanvas=document.createElement('canvas'); canvas.width=16; canvas.height=16; varcontext2D=canvas.getContext('2d'); context2D.beginPath(); context2D.arc(8,8,8,0,Cesium.Math.TWO_PI,true); context2D “相关推荐”对你有帮助么? 非常没帮助 没帮助 一般 有帮助 非常有帮助 提交 ©️2022CSDN 皮肤主题:黑客帝国 设计师:我叫白小胖 返回首页 acoolgiser CSDN认证博客专家 CSDN认证企业博客 码龄6年 中国矿业大学(北京) 138 原创 3万+ 周排名 1万+ 总排名 110万+ 访问 等级 8069 积分 128 粉丝 368 获赞 194 评论 1366 收藏 私信 关注 热门文章 1045Accessdeniedforuser'root'@'localhost'(usingpassword:YES) 284696 elementUI框架的el-rowel-col与el-table-column用法区别! 64102 ERRORinCannotfindmodule'node-sass'(最全解决方案) 34471 Javascript中的Date.now()方法与Date.UTC()方法,Date.parse() 方法 30533 c/c++-nan(ind)NAN 30016 分类专栏 HTML 1篇 Kettle datax 2篇 python 1篇 element 7篇 编程工具 2篇 HTTP 1篇 git 1篇 OSG 2篇 MFC编程入门系列 C# 12篇 ArcEngine 13篇 WebGIS 3DGIS 2篇 3dsMax/MaxScript 其他 6篇 MFC 27篇 VC++ 9篇 C/C++ 17篇 MySQL 5篇 JS 32篇 MongoDB 3篇 Node.JS 15篇 编程学习 4篇 leaflet 5篇 vue.js 21篇 QGIS 1篇 SQL 2篇 three.js 9篇 svg canvas 1篇 日常总结 2篇 WebGL 5篇 weexeros 8篇 ejs 1篇 QT 10篇 最新评论 1045Accessdeniedforuser'root'@'localhost'(usingpassword:YES) weixin_58561766: 你可以试一试把电脑的隐藏目录打开,在programData中找到my.ini这个文件, 在里边找一找有没有这行代码,没有就加上 default_authentication_plugin=caching_sha2_password 1045Accessdeniedforuser'root'@'localhost'(usingpassword:YES) sdau_5956: xd,这个问题你具体怎么解决的? vueelement-uidate-picker日期选择器控件设置时间范围限制可选的开始时间和结束时间 Gu_fengqi: 日期不行的可以试试把time.getTime()<this.adddrillrecordrow.starttime m0_70747407: qtcreator inputnumber datax-web mysql-connector-java-bin-8.0.20.jar html kettle datax python element http git osg mfc c arcengine webgis vc mysql js mongodb node.js leaflet vue.js qgis sql three.js svg canvas webgl weexeros ejs qt acoolgiser mmd></this.adddrillrecordrow.starttime></divid> </div></template></canvas></scrip>



請為這篇文章評分?