(1) 声明全局render对象; (2) 获取画布的高和宽; (2) 生成渲染器对象 (3) 指定渲染器的高宽(一般跟画布框大小一致); (4) 追加canvas元素到canvas3d元素中; (5)...').clientWidth; //获取画布的宽 height = document.getElementById('canvas3d').clientHeight; //获取画布的高...renderer.setSize(width,height); //设置渲染器的高宽 document.getElementById('canvas3d...').appendChild(renderer.domElement); //追加canvas元素到canvas3d元素中 renderer.setClearColorHex(0xFFFFFF...').clientWidth; //获取画布的宽 height = document.getElementById('canvas3d').clientHeight
draw 2d line'); } drawPie(){ console.log('draw 2d pie'); } } 项目升级需要提高UI美观,引入3D画图库Canvas3D...,两者接口不一样: class Canvas3D{ draw3DLine(){ console.log('draw 3d line'); } draw3DPie...项目是依赖接口Graph的,如果要直接加上3d功能就需要改接口,这个代价比较大,这时适配器派上用场: class Canvas3DAdapter implements Graph{ private canvas3D...: Canvas3D = new Canvas3D(); drawLine(){ this.canvas3D.draw3DLine(); } drawPie(...在Canvas3DAdapter里引入了Canvas3D对象,可以看出这是对象上的行为适配,所以叫对象适配器。
国外有一个网站,Simple 3D HTML5 canvas 有几个例子,3D效果都很逼真: http://sebleedelisle.com/demos/canvas3d/canvas3d2.html...http://sebleedelisle.com/demos/canvas3d/canvas3d3.html http://sebleedelisle.com/demos/canvas3d/canvas3d4
当然本文并没有涉及到Canvas3D绘制的相关内容,而且关于Canvas绘制渐变色、绘制阴影、图片的相关处理操作等,这些内容,如果读者确实需要的可以自行搜索查找相关资料或者直接阅读Html5的最新标准文档
skpage=canvas3d
领取专属 10元无门槛券
手把手带您无忧上云